Gegner hin und her laufen lassen
Übersicht

![]() |
bruce185Betreff: Gegner hin und her laufen lassen |
![]() Antworten mit Zitat ![]() |
---|---|---|
also, ich möchte einen gegner in meiner tilemap laufen lassen, ich habe das so versucht:
BlitzBasic: [AUSKLAPPEN]
also, meine Bausteine von der Tile map ist 32 pixel breit und 32 pixel hoch und wenn es 1 dazu gezählt wird, dann bewegt der gegner sich 32 pixel rechts, und wenn der gegner 320 pixel rechts gelaufen ist, dann soll der gegner sich wieder nach links bewegen, 32 * 10 sind ja 320 pixel, wisst ihr zufälligerweise wie das funktioniert, mit der if anweisung geht das nicht, weil wenn der gegner 32 pixel weg läuft, dann kann die if anweisung ja garnicht mehr ausgeführt werden, weil der gegner von der Position 0 weg ist, ich habe das mit der for next schleife probiert, es ging aber der gegner hat sich dann zimlich schnell bewegt, nun bitte ich um eure hilfe, ich danke euch schonmal ![]() bruce185 |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das geht auch mit der IF-Anweisung, z.B. so...
richtung=1 position=0 While Not KeyHit(1) position=position+richtung if position=>320 then richtung=-1 if position=<0 then richtung=1 Wend |
||
![]() |
bruce185 |
![]() Antworten mit Zitat ![]() |
---|---|---|
danke für dein tip, aber es funktioniert nicht, der gegner rührt sich kein millimeter, gibt es vieleicht auch eine andere möglichkeit das der gegner sich bewegt, ich danke dir schonmal ![]() bruce185 |
||
![]() |
SoNenTyp |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du muss ja auch noh das
If richtung Then gx = gx + 1 else gx= gx-1 end if eibauen. |
||
Gruss Der Typ.
User posted image |
![]() |
bruce185 |
![]() Antworten mit Zitat ![]() |
---|---|---|
das hab ich doch gemacht, der gegner bewegt sich nur nach rechts, aber nicht nach links, ich habe schon viele möglichkeiten probiert, aber es will einfach nicht funktionieren, hier im Forum habe ich auch schon nach gekuckt über gegner, aber nichs passendes gefunden, kann ich das auch mit einer Schleifendurchlauf machen, das es unendlich durchläuft, oder geht das nicht, ich danke euch schonmal ![]() bruce185 |
||
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
also wie es mir scheint, hast du nicht das buch von Rene, oder? dort ist so ein beispiel drin, wenn du es nicht hast, schreib mir mal ne pn. | ||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
![]() |
Horst der Biber |
![]() Antworten mit Zitat ![]() |
---|---|---|
morgen!
versuch das ma BlitzBasic: [AUSKLAPPEN]
|
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@bruce185
Hey bruce, daß hast du eben nicht in deinem Beispiel gemacht. Du hast folgendes geschrieben... If gx = 0 Then gx = gx + 1 ;gx Gegner X Position If gx = 10 Then gx = gx - 1 ;gx Gegner X Position In den Kommentarzeilen steht (gx Gegner X Position). Du fragst ob gx kleiner als 0 dann gx=gx+1. Das soviel bedeutet, daß er sich zwar einen Pixel nach rechts bewegt aber dann nie mehr von einer der beiden Abfragen beeinflusst wird. Was du brauchst ist eine zusätzliche Variable die die Geschwindigkeit oder Richtung angiebt. Die Position wird von der Geschwinsigkeit/Richtung beeinflusst. Die RICHTUNG ÄNDERT sich nachdem die POSITION abgefragt wurde. Sollte doch klar sein. Hier mal ein funzenden Beispielcode... Code: [AUSKLAPPEN] Graphics 640,480,0,2 SetBuffer BackBuffer() xp=0 xg=1 While Not KeyHit(1) If xp=>100 Then xg=-1 If xp<=0 Then xg=1 xp=xp+xg Rect xp,0,20,20,1 Flip Cls Wend End |
||
![]() |
bruce185 |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi, "Horst der Biber", deine if anweisung funktioniert hervorragend, ich bin dir sehr dankbar für die hilfe ![]() bruce185 |
||
NicroSBetreff: @hectic |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich komme nicht dahinter, wie ich das Quadrat von oben nach unten fallen lassen kann. Bitte um Tipps | ||
![]() |
hecticSieger des IS Talentwettbewerb 2006Betreff: Re: @hectic |
![]() Antworten mit Zitat ![]() |
---|---|---|
NicroS hat Folgendes geschrieben: Ich komme nicht dahinter, wie ich das Quadrat von oben nach unten fallen lassen kann. Bitte um Tipps
Hi Nicros, meinst du das so?.. Code: [AUSKLAPPEN] Graphics 640,480,0,2 SetBuffer BackBuffer() SeedRnd MilliSecs() xp#=80 yp#=80 xg#=Rnd(10,20) yg#=Rnd(-10,10) While Not KeyHit(1) If xp<=0 Or xp=>620 Then xp=xp-xg : xg=-xg/1.2 : yg=yg/1.02 ;Letzten beiden sind Aufschlagswiederstand If yp<=0 Or yp=>460 Then yp=yp-yg : yg=-yg/1.2 : xg=xg/1.02 ;Letzten beiden sind Aufschlagswiederstand yg=yg+0.2 ;Gravitation xg=xg/1.002 ;Luftwiederstand yg=yg/1.002 ;Luftwiederstand xp=xp+xg yp=yp+yg Oval xp,yp,20,20,1 Flip Cls Wend End |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group