Bild bewegen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Kurzer

Betreff: Bild bewegen

BeitragFr, Aug 17, 2007 18:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Leute!

Ich will jetzt mal meine FIgur im Spiel (also das Bild es Männchens) bewegen - jedoch finde ich kein richtigen Ansatz, wie ich das mit den Koordinaten machen soll.
Die Sache mit den Taste und Antimation kann ich. Aber die Figur soll sich auch nach rechts Bewegen, wenn auf die rechte Pfeiltaste drücke.
Kann mir eien sagen, wie man das machen kann?

Außerdem habe ich das Problem, das das Programm immer gleich beendet wird.
"End" hab ich auf die Escape Taste gesetzt - kann man jetzt noch irgendwie die Meldung "Programm has been ended" auschalten?
  • Zuletzt bearbeitet von Kurzer am Fr, Aug 17, 2007 18:07, insgesamt einmal bearbeitet

the FR3AK

BeitragFr, Aug 17, 2007 18:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier ein kleines Beispiel:

Code: [AUSKLAPPEN]

Graphics 800,600,0,2
SetBuffer BackBuffer()

x=100 ;variable für x-position
y=100;variable für y-position

While Not KeyHit(1)

Cls

Rect x,y,100,100,1 ; ein Rechteck an der x und y-position erstellen

If KeyDown(200) then
   y=y-1
End If

If KeyDown(205) then
   x=x+1
End If

If KeyDown(208) then
   y=y+1
End if

If KeyDown(203) then
   x=x-1
End if

Flip
Wend



Statt rect musst du dann halt DrawImage benutzen Wink
 

Kurzer

BeitragFr, Aug 17, 2007 18:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Dankeschön Wink

Edit1:Muss die Schleife für das Escape alles umschließen?


Edit2: Die Frage hat sich gerade erübrigt^^.
 

Kurzer

Betreff: Bei Kollisionsabfrage keine Bewegung

BeitragFr, Aug 17, 2007 19:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry wegen Doppelpost - aber ich wollte für mein neues Problem nicht gleich einen neuen Thread öffnen Wink

Also, ich bin gerade dabei die Kollisionsabfrage zu machen - die Kollision wird auch erkannt, d.h. wenn ich den "Print" Befehl nehme zeigt der mir ja, das das erkannt wird.
Nun will ich aber, dass der Spieler nicht durch das Haus durchrennen kann.
Da hstte ich mir folgendes gedacht:
Code: [AUSKLAPPEN]
If ImagesOverlap(Held_Vorne, x1, y1, Haus1, x2, y2) Then Kollision = True

und
Zitat:
; *** Nach oben ***
If KeyDown(200) And Kollision = FALSE Then

y1=y1-5

End If
(das jetzt eben für alle Richtungen)

Aber, da ist mir ein Problem eingefallen und eins aufgefallen.
Würde der SPieler das Haus jetzt berühren, könnte er sich garnicht mehr bewegen, jedoch funktioniert das so, wie ich das machen wollte überhaupt nicht, es ist wie, als ob ich die Abfrage "Kollision = FALSE" auch weglassen würde ...
Woran könnte das liegen?
 

Mr Hopp

BeitragFr, Aug 17, 2007 20:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Du musst die Kollision vorrausschauend machen. Prüfen, ob der Spieler auf der nächsten Koordinate kollidieren würde und nur dann verschieben

Code: [AUSKLAPPEN]
If KeyDown(200) And ImagesOverlap(Held_Vorne, x1, y1-5, Haus1, x2, y2) Then y1=y1-5

Man beachte das y1-5 in der Kollisionsabfrage
Zitat:
Wie poste ich falsch?

Nachdem ich Google, die FAQ's und die Boardsuche erfolgreich ignoriert habe, erstelle ich zwei bis fünf neue Themen, in den falschen Unterforen, mit kreativen Titeln und undeutlichem Text, unter dem sich jeder etwas anderes vorstellen kann.
 

Kurzer

BeitragFr, Aug 17, 2007 20:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Aha!
Wenn ich drüber nachdenke ist das eine geinale Lösung! Danke! Wink


Edit: Was mir da gerade auffällt: Dann müsste ich das doch für jedes Objekt in meiner Welt machen .... wenn das viele irgend wann mal sind, kann das sicherlich unübersichtlich werden Rolling Eyes - kann ich das ganze gleich in ne Function packen? Dann mach ich das nämlich (hehe)^^

Edit2: Komischerweiße bewegt die FIgur sich jetzt gar nicht mehr, obwohl sie noch meilen vom Hinderniss entfernt ist o.O
--> Hab hierfür die Lösung gefunden, es muss heißen:
Code: [AUSKLAPPEN]
If KeyDown(200) And ImagesOverlap(Held_Vorne, x1, y1-5, Haus1, x2, y2) [color=red]= 0[/color] Then y1=y1-5
 

Mr Hopp

BeitragFr, Aug 17, 2007 22:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh ja 'tschuldige war ein Tippfehler von mir
Zitat:
Wie poste ich falsch?

Nachdem ich Google, die FAQ's und die Boardsuche erfolgreich ignoriert habe, erstelle ich zwei bis fünf neue Themen, in den falschen Unterforen, mit kreativen Titeln und undeutlichem Text, unter dem sich jeder etwas anderes vorstellen kann.
 

benjoY...!

BeitragDo, Aug 23, 2007 21:49
Antworten mit Zitat
Benutzer-Profile anzeigen
ohh ...genau des Problem habe ich auch ich habe ein man mit einem schwert und will das der mann zum schlag ausholt

das ganze sollte eine Gif. datei sein

hat jemand von euch (die es wissen ICQ ?) wer echt nett

ZaP

BeitragDo, Aug 23, 2007 22:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Nix ICQ (hallo? Forum!), nix .gif...

Bewegte Bilder macht man mit einem Imagestrip, d.h. man malt frame1, daneben frame2 und daneben frame3 und die lädt man mit LoadAnimImage(). wurde hier schon tausende male erklärt...
Starfare: Worklog, Website (download)

Xeres

Moderator

BeitragDo, Aug 23, 2007 23:01
Antworten mit Zitat
Benutzer-Profile anzeigen
@ benjoY...!
Ich kann dir nur GraphicsGale empfehlen. Damit kann man leicht einzelne Frames bearbeiten und dann als ein Bild speichern. Exportieren->Combined File auswählen und die Zeilenzahl darunter entsprechend anpassen.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group