Einsteiger Schwierigkeiten...
Einsteiger Schwierigkeiten...
Ich möchte ein 2D-Scrolling Game machen und möchte dazu erstmal ein Menü entwerfen in welchem ich den Titel in FOrm eines Sprites einfliegen lassen möchte.
Dazu hätte ich mal 2 Fragen:
1. Wie kann ich den einen Sprite bewegen?
2. Wie kann ich in einen Fullscreen-Programm einen Mauszeiger anzeigen?
Ich hoffe auf schnelle und gute antworten.
Danke
Dazu hätte ich mal 2 Fragen:
1. Wie kann ich den einen Sprite bewegen?
2. Wie kann ich in einen Fullscreen-Programm einen Mauszeiger anzeigen?
Ich hoffe auf schnelle und gute antworten.
Danke
Einen mauszeiger musst du erst mal selber "malen" und dann auch als Sprite Anzeigen.
DisplaySprite() besitzt ja einen x und y Parameter, diese mussen ja nicht immer festen Zahlen sein, sondern auch variablen.
Zum Mausanzeigen kannst du zB sowas machen:
natürlich mit den notwenigen vordefinitionen, welche du in beispielen findest.
Genauso kannst du auch andere Sprites Bewegen lassen.
indem du einfach eine Variablen einsetzt. und diese mit jedem Schleifen durchlauf um 1 erhöhst:
Schau die einfach mal n paar Beispiele an, welche bei PB dabei sind
DisplaySprite() besitzt ja einen x und y Parameter, diese mussen ja nicht immer festen Zahlen sein, sondern auch variablen.
Zum Mausanzeigen kannst du zB sowas machen:
Code: Alles auswählen
DisplaySprite(Sprite, MouseX(), MouseY())
Genauso kannst du auch andere Sprites Bewegen lassen.
indem du einfach eine Variablen einsetzt. und diese mit jedem Schleifen durchlauf um 1 erhöhst:
Code: Alles auswählen
Variable + 1
DisplaySprite(Sprite, Variable, 200)
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Vor der Repeat-Schleife die Positionsvariablen definieren:
Code: Alles auswählen
spriteX=-100
spriteY=-200
Repeat
x+1
y+2
DisplaySprite(id,spriteX,spriteY)
;...
AAAAAHH!!! Ok cool danke^^
Ich habe heute erst angefangen zu programmieren.... deshalb brauche ich immer ein wenig hilfe
Aber der mauszeiger geht ned..... ich hab mit Enumeration einen Zeiger definirt, ihn geladen und will ihn anzeigen mitt dem code oben aber es klappt nicht... ich sehe ihn nicht.... weiß jemand woran das liegt???
Ich habe heute erst angefangen zu programmieren.... deshalb brauche ich immer ein wenig hilfe

Aber der mauszeiger geht ned..... ich hab mit Enumeration einen Zeiger definirt, ihn geladen und will ihn anzeigen mitt dem code oben aber es klappt nicht... ich sehe ihn nicht.... weiß jemand woran das liegt???
n00b on Tour!
Sry für die Fragen aber meine Jacke wird von hinten zu gemacht xDDDD
Sry für die Fragen aber meine Jacke wird von hinten zu gemacht xDDDD
wie sehen den Fehler auch nicht
einfach mal bitte deinen Code (Ausschnitt) zeigen ...

einfach mal bitte deinen Code (Ausschnitt) zeigen ...
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
So.... hi nochmal... hier besteht *kurz* aufklärungsbedarf:
Ich bin eigentlich derjenige mit dem problem... aber mein kleiner bruder hat mein problem hier veröffentlicht^^
Also mein Code ist mommentan so:
Das sind die für den mauszeiger relevanten zeilen.... ich hoffe jemand erkennt das problem^^
code-tags ergänzt - Kaeru fecit
Ich bin eigentlich derjenige mit dem problem... aber mein kleiner bruder hat mein problem hier veröffentlicht^^
Also mein Code ist mommentan so:
Code: Alles auswählen
InitSprite()
InitMouse()
Enumeration
#Menu
#Cursor
#Start
#Laden
#Ende
#Musik
EndEnumeration
OpenScreen(800, 600, 32, "Gunner X")
UsePNGImageDecoder()
LoadSprite(#Cursor, "Sprites\Menu\cursor.png")
Repeat
ExamineMouse()
x = MouseX()
y = MouseY()
MouseButton(#PB_MouseButton_Left)
FlipBuffers()
ClearScreen(RGB(0, 0, 0))
DisplaySprite(#Cursor, MouseX(), MouseY())
Until x > 550 And x < 800 And y > 400 And y < 600 And MouseButton(#PB_MouseButton_Left)
End
code-tags ergänzt - Kaeru fecit
starte das mal mit dem Debugger um zu schauen, ob er das Bild laden kann, ansonsten sollte das gehen.
Wenn du MouseX() und MouseY() schon zwischenspeicherst, dann darfst du diese auch nutzen
Bei
ähnliches. MouseButton() hat einen Rückgabewert, den du wie bei den Koordinaten x,y speichern kannst. Sonst bewirkt das nix
Wenn du MouseX() und MouseY() schon zwischenspeicherst, dann darfst du diese auch nutzen

Code: Alles auswählen
DisplaySprite(#Cursor, x, y)
Code: Alles auswählen
MouseButton(#PB_MouseButton_Left)
Hast du den Pfad des Mauszeigerbildes überprüft ?
wenn ich einen absoluten pfad angebe z.B.: c:\cursor.png dann klappt dein Code.
Versuche doch eine Prüfung einzubauen, ob dein Sprite wirklich geladen wurde. (ist sowieso eleganter um Fehler auszuschliessen.)
In Form von
LoadSprite() gibt eine 0 zurück, wenn kein Sprite geladen werden konnte, z.B. wenn der Pfad falsch ist oder das Sprite das falsche Dateiformat hat (z.B. JPG anstatt PNG in deinem Fall)... wenn der Wert was anderes als 0 ist, ist das Sprite demzufolge geladen und fertig zur Benutzung.
wenn ich einen absoluten pfad angebe z.B.: c:\cursor.png dann klappt dein Code.
Versuche doch eine Prüfung einzubauen, ob dein Sprite wirklich geladen wurde. (ist sowieso eleganter um Fehler auszuschliessen.)
In Form von
Code: Alles auswählen
If LoadSprite(#Cursor, "Sprites\Menu\cursor.png")
;ok
Else
Debug "Fehler Sprite nicht geladen"
End
EndIf
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom
AH! Es funzt! Ich musste das direkt unter den MouseButton schreiben!
Jetzt hab ich aber das problem, das ich hinter meinem Mauszeiger ein Schwarzes Kästchen sehe, obwohl alles auser dem Zeiger im Bild transparent ist.... wie bekomme ich DAS weg?!?! (Sorry dass ich so viel fragen muss aber ich bin nunmal anfänger^^)
Jetzt hab ich aber das problem, das ich hinter meinem Mauszeiger ein Schwarzes Kästchen sehe, obwohl alles auser dem Zeiger im Bild transparent ist.... wie bekomme ich DAS weg?!?! (Sorry dass ich so viel fragen muss aber ich bin nunmal anfänger^^)