Collisions
Übersicht
BlitzBasic
Allgemein|
|
DaviD4DBetreff: Collisions |
Antworten mit Zitat |
|---|---|---|
|
Hi All!!
Ich habe eine Frage.. Also. ich habe zwei Objects, Geschwindigkeit deren beschreibe ich mit der Hilfe den Vektoren (also X1, Y1.. X2, Y2), das ist noch nicht alles, diese Objekte wiegen auch etwas (M1 und M2)... und jetzt die Frage: wie berechne ich die Vektoren nach der Kollision?? danke (im Voraus) |
||
Dreamora |
Antworten mit Zitat |
|
|---|---|---|
|
Mittels dem Impulserhaltungsgesetz sowie Reflektionsgesetzen aus der Physik.
Ist bei "theoretischen" Objekten einfach, aber bei echten 3D Objekten eine ziemliche Rechnerei und nur sehr schwer realistisch umzusetzen. Aber wenns dich interessiert und du ein wenig C Code lesen kannst, kannst du sonst die ODE Sources nutzen um es herauszufinden. |
||
| Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. | ||
|
|
DaviD4D |
Antworten mit Zitat |
|---|---|---|
|
Dreamora hat Folgendes geschrieben: Mittels dem Impulserhaltungsgesetz sowie Reflektionsgesetzen aus der Physik.
Hmmm....
Ist bei "theoretischen" Objekten einfach, aber bei echten 3D Objekten eine ziemliche Rechnerei und nur sehr schwer realistisch umzusetzen. Aber wenns dich interessiert und du ein wenig C Code lesen kannst, kannst du sonst die ODE Sources nutzen um es herauszufinden. dabei werde ich ein paar tausend Jahre verlieren.. gibts vielleicht ein eifacher Weg, um sowas rauszufinden (ein Buch vielleicht). |
||
|
|
D2006Administrator |
Antworten mit Zitat |
|---|---|---|
|
Du könntest mal genauere Ausführungen machen.
Ich nehm ja mal im Gegensatz zu Dreamora an, dass du 2D meinst. Dann wäre halt noch die Frage, was für Objekte das sind. Kreisförmige? Sinnvoll wäre es dein Objekt mit Vektoren einzurahmen und dann jeweils mit den Vektoren untereinander neue zu berechnen. Beispielsweise bei einem Kreis ein 8 eckiges Vektorengeflecht. Danach wäre halt Reflexion wichtig. So richtig Gedanken musste ich mir bisher nich darum machen. Such mal einen Radgoll Thread hier im Forum. Mich deucht, da wurde mal eine Vektorreflexion gezeigt. MfG D2006 |
||
|
|
Alfadur |
Antworten mit Zitat |
|---|---|---|
|
raGDoll |
||
| A Cray is the only computer that runs an endless loop in less than four hours. | ||
|
|
D2006Administrator |
Antworten mit Zitat |
|---|---|---|
|
Krümelkacker, ihr!
RagDoll natürlich. Ich setze mich nun in die Ecke des Zimmer und schäme mich. (... und leere nebenbei den Bierkasten, der zufällig auch dort steht.) MfG D2006 |
||
|
|
DaviD4D |
Antworten mit Zitat |
|---|---|---|
|
D2006 hat Folgendes geschrieben: Du könntest mal genauere Ausführungen machen. Klar...
Ich porgrammiere so ein Spiel wie "Micromashines" (3D), da brauche ich aber keine genaue Physic-berechnungen, das Spiel ist für kleine Kinder.. Kollision der Autos organisiere ich wie "Sphere to Sphere"... also die Objekte sind Kreisformige, kann man so sagen. warte mal, ich versuche mal alles hier zu veröfentlichen.. |
||
|
|
DaviD4D |
Antworten mit Zitat |
|---|---|---|
|
also:
Code: [AUSKLAPPEN] Type TCar Field Gewicht# Field Accelerate# Field Break# Field Speed# Field MaxSpeed# Field MinSpeed# Field QRotate# Field DownInertion# Field AGround# Field CObject% Field CObject1% Field WObject%[4] Field XPWheel#[4] Field YPWheel#[4] Field ZPWheel#[4] Field XSpeed1# Field YSpeed1# Field XSpeed2# Field YSpeed2# Field XSpeed3# Field YSpeed3# Field Control% ; 1-Player, 0-Computer Field XPos# Field YPos# Field xp% Field yp% Field CurrentWayPoint% Field SearchStep% Field WayIndex% Field WayListIndex% End Type Const GroundForce#=-0.3 rad=1 auto=2 ground=3 AutoS=100 Dim Map (1000,1000,1) ; 0 - die Stoerungskarte ; 1 - die karte fuer berechnungen Const XMaxMap=1000 Const YMaxMap=1000 Dim WayList(10000,4) ; 0 - Open / Close flag (0-open) ; 1 - Position X ; 2 - Position Y ; 3 - G ; 4 - H Dim Way(10000,2) ;=================================================== Graphics3D 1024,768,32,1 ;Graphics3D 800,600,32,2 SetBuffer BackBuffer() MainCamera=CreateCamera() RotateEntity MainCamera,30,-45,0 CameraHeigth=70 mainlight=CreateLight() RotateEntity MainLight,15,-45,0 ;WorldFloor=LoadMesh("floor.3ds") WorldFloor=CreateTerrain(128) EntityType WorldFloor,Ground ScaleEntity WorldFloor,10,1,10 PositionEntity WorldFloor,0,0,0 EntityColor WorldFloor,100,100,100 ;=================================================== ;New Cars Car.TCar=New TCar Car\Gewicht=10 Car\Accelerate=0.04 Car\Break=0.8 Car\Speed=0 Car\MaxSpeed=1.5 Car\MinSpeed=-0.3 Car\QRotate=5 Car\DownInertion=0.98 Car\AGround=0 Car\Control=1 ;Car\CObject=LoadMesh("jeep.3ds") Car\CObject=CreateCube() ScaleMesh Car\CObject,3,2,5 ;Car\WObject[1]=LoadMesh("jeep (wheel).3ds",Car\CObject) Car\WObject[1]=CreateSphere(10,Car\CObject) Car\WObject[2]=CopyEntity(Car\WObject[1],Car\CObject) Car\WObject[3]=CopyEntity(Car\WObject[1],Car\CObject) Car\WObject[4]=CopyEntity(Car\WObject[1],Car\CObject) Car\XPWheel[1]=-3.065 Car\XPWheel[2]=3.065 Car\XPWheel[3]=-3.065 Car\XPWheel[4]=3.065 Car\YPWheel[1]=3.923 Car\YPWheel[2]=3.923 Car\YPWheel[3]=-2.844 Car\YPWheel[4]=-2.844 Car\ZPWheel[1]=-5 Car\ZPWheel[2]=-5 Car\ZPWheel[3]=-5 Car\ZPWheel[4]=-5 For i=1 To 4 PositionEntity Car\WObject[i],Car\XPWheel[i],Car\ZPWheel[i],Car\YPWheel[i] EntityRadius Car\WObject[i],2 Next Car\CObject1=CreateMesh(Car\CObject) EntityType Car\CObject,Auto EntityRadius Car\CObject,6 For i=1 To 4 EntityColor GetChild(Car\CObject,i),255,0,0 EntityType GetChild(Car\CObject,i),Rad Next For laaas=1 To 5 Car.TCar=New TCar Car\Gewicht=10+Rnd(-3,3) Car\Accelerate=0.04 Car\Break=0.1 Car\Speed=0 Car\MaxSpeed=1.5+Rnd(-.02,.02) Car\MinSpeed=-1.0 Car\QRotate=5 Car\DownInertion=0.98 Car\AGround=0 Car\Control=0 ;Car\CObject=LoadMesh("jeep.3ds") Car\CObject=CreateCube() ScaleMesh Car\CObject,3,2,5 ;Car\WObject[1]=LoadMesh("jeep (wheel).3ds",Car\CObject) Car\WObject[1]=CreateSphere(10,Car\CObject) Car\WObject[2]=CopyEntity(Car\WObject[1],Car\CObject) Car\WObject[3]=CopyEntity(Car\WObject[1],Car\CObject) Car\WObject[4]=CopyEntity(Car\WObject[1],Car\CObject) Car\XPWheel[1]=-3.065 Car\XPWheel[2]=3.065 Car\XPWheel[3]=-3.065 Car\XPWheel[4]=3.065 Car\YPWheel[1]=3.923 Car\YPWheel[2]=3.923 Car\YPWheel[3]=-2.844 Car\YPWheel[4]=-2.844 Car\ZPWheel[1]=-5 Car\ZPWheel[2]=-5 Car\ZPWheel[3]=-5 Car\ZPWheel[4]=-5 For i=1 To 4 PositionEntity Car\WObject[i],Car\XPWheel[i],Car\ZPWheel[i],Car\YPWheel[i] EntityRadius Car\WObject[i],2 Next EntityType Car\CObject,Auto EntityRadius Car\CObject,6 For i=1 To 4 EntityColor GetChild(Car\CObject,i),255,0,0 EntityType GetChild(Car\CObject,i),Rad Next Next Car.TCar=First TCar PositionEntity Car\CObject,20,40,80 Car= After Car PositionEntity Car\CObject,60,40,80 Car\CurrentWayPoint=1 Car\SearchStep=1 Car= After Car PositionEntity Car\CObject,40,40,80 Car\CurrentWayPoint=1 Car\SearchStep=2 Car= After Car PositionEntity Car\CObject,60,40,60 Car\CurrentWayPoint=1 Car\SearchStep=3 Car= After Car PositionEntity Car\CObject,20,40,60 Car\CurrentWayPoint=1 Car\SearchStep=4 Car= After Car PositionEntity Car\CObject,40,40,60 Car\CurrentWayPoint=1 Car\SearchStep=5 Dim WayPoint (30,2) WayPoint(1,0)=10 ; Position X WayPoint(1,1)=60 ; Position Y WayPoint(1,2)=4 ; Radius WayPoint(2,0)=80 WayPoint(2,1)=90 WayPoint(2,2)=4 WayPoint(3,0)=70 WayPoint(3,1)=10 WayPoint(3,2)=4 WayPoint(4,0)=10 WayPoint(4,1)=10 WayPoint(4,2)=4 For i=1 To 10 If WayPoint(i,2)=0 Then Exit t=CreateSphere() ScaleEntity t,2,2,2 PositionEntity t,WayPoint(i,0)*10,4,WayPoint(i,1)*10 Next Car.tcar= Last tcar Car\XPos=EntityX(Car\CObject):Car\YPos=EntityZ(Car\CObject) Collisions rad,ground,2,2 Collisions auto,ground,2,2 Collisions auto,auto,1,2 For Car.tCar = Each tCar If Not Car\Control=1 Car\XPos=EntityX(Car\CObject) Car\YPos=EntityZ(Car\CObject) Gosub WaySearcher EndIf Next signal$="" time#=MilliSecs() .MainLoop Repeat ffffl=0 For Car.tCar = Each tCar ; For Car1.tCar = Each tCar ; If Car1\CObject<>Car\CObject ; If EntityCollided (Car\CObject,auto)=Car1\CObject ; ffffl=1 ; EndIf ; EndIf ; Next If Car\Control=1 Car\XPos=EntityX(Car\CObject) Car\YPos=EntityZ(Car\CObject) If EntityCollided (Car\CObject,ground) If KeyDown(200) And Car\Speed<Car\MaxSpeed Car\Speed=Car\Speed+Car\Accelerate ElseIf KeyDown(208) And Car\Speed>Car\MinSpeed Car\Speed=Car\Speed-Car\Break Else Car\Speed=Car\Speed*Car\DownInertion EndIf If KeyDown(203) And Car\Control=1 TurnEntity Car\CObject,0,Car\QRotate,0 EndIf If KeyDown(205) And Car\Control=1 TurnEntity Car\CObject,0,-Car\QRotate,0 EndIf ;-------------------------------------------------------------- FloorIndex#=.04 ;-------------------------------------------------------------- Car\XSpeed1=Car\Speed*Sin(-EntityYaw(Car\CObject)) Car\YSpeed1=Car\Speed*Cos(EntityYaw(Car\CObject)) Zanos#=1/(Car\Gewicht*4)+FloorIndex# If Car\XSpeed2<Car\XSpeed1 Car\XSpeed2=Car\XSpeed2+Zanos# If Car\XSpeed2>Car\XSpeed1 Then Car\XSpeed2=Car\XSpeed1 EndIf If Car\XSpeed2>Car\XSpeed1 Car\XSpeed2=Car\XSpeed2-Zanos# If Car\XSpeed2<Car\XSpeed1 Then Car\XSpeed2=Car\XSpeed1 EndIf If Car\YSpeed2<Car\YSpeed1 Car\YSpeed2=Car\YSpeed2+Zanos# If Car\YSpeed2>Car\YSpeed1 Then Car\YSpeed2=Car\YSpeed1 EndIf If Car\YSpeed2>Car\YSpeed1 Car\YSpeed2=Car\YSpeed2-Zanos# If Car\YSpeed2<Car\YSpeed1 Then Car\YSpeed2=Car\YSpeed1 EndIf zx#=(EntityX( Car\WObject[2],True )+EntityX( Car\WObject[4],True ))/2 zx=zx-(EntityX( Car\WObject[1],True )+EntityX( Car\WObject[3],True ))/2 zy#=(EntityY( Car\WObject[2],True )+EntityY( Car\WObject[4],True ))/2 zy=zy-(EntityY( Car\WObject[1],True )+EntityY( Car\WObject[3],True ))/2 zz#=(EntityZ( Car\WObject[2],True )+EntityZ( Car\WObject[4],True ))/2 zz=zz-(EntityZ( Car\WObject[1],True )+EntityZ( Car\WObject[3],True ))/2 AlignToVector Car\CObject,zx,zy,zz,1 zx#=(EntityX( Car\WObject[1],True )+EntityX( Car\WObject[2],True ))/2 zx=zx-(EntityX( Car\WObject[3],True )+EntityX( Car\WObject[4],True ))/2 zy#=(EntityY( Car\WObject[1],True )+EntityY( Car\WObject[2],True ))/2 zy=zy-(EntityY( Car\WObject[3],True )+EntityY( Car\WObject[4],True ))/2 zz#=(EntityZ( Car\WObject[1],True )+EntityZ( Car\WObject[2],True ))/2 zz=zz-(EntityZ( Car\WObject[3],True )+EntityZ( Car\WObject[4],True ))/2 AlignToVector Car\CObject,zx,zy,zz,3 TranslateEntity Car\CObject,Car\XSpeed2,(GroundForce-Car\Gewicht*0.01)*0.005,Car\YSpeed2 Car\AGround=0 Else TranslateEntity Car\CObject,Car\XSpeed2,Car\Speed*Sin(-EntityPitch(Car\CObject))*1.2,Car\YSpeed2 If EntityPitch(Car\CObject)<40 Then TurnEntity Car\CObject,Car\Gewicht*0.08,0,0 TranslateEntity Car\CObject,0,Car\AGround,0 Car\AGround=Car\AGround+(GroundForce-Car\Gewicht*0.01)*0.05 EndIf PositionEntity MainCamera,EntityX(Car\CObject)-30,EntityY(Car\CObject)+40,EntityZ(Car\CObject)-30 For i=1 To 4 PositionEntity Car\WObject[i],Car\XPWheel[i],Car\ZPWheel[i],Car\YPWheel[i] Next Else ;------------------- CPU Cars -------------------------------------------------------- Car\XPos=EntityX(Car\CObject) Car\YPos=EntityZ(Car\CObject) If EntityCollided (Car\CObject,ground) WayStep=3 Car\SearchStep=Car\SearchStep+1 If Car\SearchStep>10 Gosub WaySearcher ; If Car\WayIndex<=WayStep Then Car\WayIndex=WayStep+1 If Car\WayIndex<=WayStep Then WayStep=Car\WayIndex Car\xp=Way(Car\WayIndex-WayStep,0) Car\yp=Way(Car\WayIndex-WayStep,1) Car\SearchStep=0 EndIf If Int(Car\XPos/10)=Car\xp And Int(Car\YPos/10)=Car\yp Car\WayIndex=Car\Wayindex-1 ; If Car\WayIndex<=WayStep Then Car\WayIndex=WayStep+1 If Car\WayIndex<=WayStep Then WayStep=Car\WayIndex EndIf If Int(Sqr((WayPoint(Car\CurrentWayPoint,0)-Int(Car\XPos/10))^2+(WayPoint(Car\CurrentWayPoint,1)-Int(Car\YPos/10))^2))<WayPoint(Car\CurrentWayPoint,2) Car\CurrentWayPoint=Car\CurrentWayPoint+1 If WayPoint(Car\CurrentWayPoint,2)=0 Car\CurrentWayPoint=1 EndIf EndIf angle#=-1*(ATan2(EntityX(Car\CObject)-(Car\xp*10),EntityZ(Car\CObject)-(Car\yp*10))) angle=angle+180:angle1=EntityYaw(Car\CObject)+180 If (angle1-angle)<=180*Sgn(angle1-angle) TurnEntity Car\CObject,0,Car\QRotate,0 angle1=angle1+Car\QRotate If (angle1-angle)>180*Sgn(angle1-angle) RotateEntity Car\CObject,EntityPitch(Car\CObject),angle,EntityRoll(Car\CObject) EndIf EndIf If (angle1-angle)>180*Sgn(angle1-angle) TurnEntity Car\CObject,0,-Car\QRotate,0 angle1=angle1-Car\QRotate If (angle1-angle)<180*Sgn(angle1-angle) RotateEntity Car\CObject,EntityPitch(Car\CObject),angle,EntityRoll(Car\CObject) EndIf EndIf If Abs(angle1-angle)>90 And Car\Speed<Car\MaxSpeed Car\Speed=Car\Speed+Car\Accelerate ElseIf Abs(angle1-angle)<90 And Car\Speed>Car\MinSpeed Car\Speed=Car\Speed-Car\Break Else Car\Speed=Car\Speed*Car\DownInertion EndIf ;-------------------------------------------------------------- FloorIndex#=.04 ;-------------------------------------------------------------- Car\XSpeed1=Car\Speed*Sin(-EntityYaw(Car\CObject)) Car\YSpeed1=Car\Speed*Cos(EntityYaw(Car\CObject)) Zanos#=1/(Car\Gewicht*4)+FloorIndex# If Car\XSpeed2<Car\XSpeed1 Car\XSpeed2=Car\XSpeed2+Zanos# If Car\XSpeed2>Car\XSpeed1 Then Car\XSpeed2=Car\XSpeed1 EndIf If Car\XSpeed2>Car\XSpeed1 Car\XSpeed2=Car\XSpeed2-Zanos# If Car\XSpeed2<Car\XSpeed1 Then Car\XSpeed2=Car\XSpeed1 EndIf If Car\YSpeed2<Car\YSpeed1 Car\YSpeed2=Car\YSpeed2+Zanos# If Car\YSpeed2>Car\YSpeed1 Then Car\YSpeed2=Car\YSpeed1 EndIf If Car\YSpeed2>Car\YSpeed1 Car\YSpeed2=Car\YSpeed2-Zanos# If Car\YSpeed2<Car\YSpeed1 Then Car\YSpeed2=Car\YSpeed1 EndIf zx#=(EntityX( Car\WObject[2],True )+EntityX( Car\WObject[4],True ))/2 zx=zx-(EntityX( Car\WObject[1],True )+EntityX( Car\WObject[3],True ))/2 zy#=(EntityY( Car\WObject[2],True )+EntityY( Car\WObject[4],True ))/2 zy=zy-(EntityY( Car\WObject[1],True )+EntityY( Car\WObject[3],True ))/2 zz#=(EntityZ( Car\WObject[2],True )+EntityZ( Car\WObject[4],True ))/2 zz=zz-(EntityZ( Car\WObject[1],True )+EntityZ( Car\WObject[3],True ))/2 AlignToVector Car\CObject,zx,zy,zz,1 zx#=(EntityX( Car\WObject[1],True )+EntityX( Car\WObject[2],True ))/2 zx=zx-(EntityX( Car\WObject[3],True )+EntityX( Car\WObject[4],True ))/2 zy#=(EntityY( Car\WObject[1],True )+EntityY( Car\WObject[2],True ))/2 zy=zy-(EntityY( Car\WObject[3],True )+EntityY( Car\WObject[4],True ))/2 zz#=(EntityZ( Car\WObject[1],True )+EntityZ( Car\WObject[2],True ))/2 zz=zz-(EntityZ( Car\WObject[3],True )+EntityZ( Car\WObject[4],True ))/2 AlignToVector Car\CObject,zx,zy,zz,3 TranslateEntity Car\CObject,Car\XSpeed2,(GroundForce-Car\Gewicht*0.01)*0.005,Car\YSpeed2 Car\AGround=0 Else If Int(Sqr((WayPoint(Car\CurrentWayPoint,0)-Int(Car\XPos/10))^2+(WayPoint(Car\CurrentWayPoint,1)-Int(Car\YPos/10))^2))<WayPoint(Car\CurrentWayPoint,2) Car\CurrentWayPoint=Car\CurrentWayPoint+1 If WayPoint(Car\CurrentWayPoint,2)=0 Car\CurrentWayPoint=1 EndIf EndIf TranslateEntity Car\CObject,Car\XSpeed2,Car\Speed*Sin(-EntityPitch(Car\CObject))*1.2,Car\YSpeed2 If EntityPitch(Car\CObject)<40 Then TurnEntity Car\CObject,Car\Gewicht*0.08,0,0 TranslateEntity Car\CObject,0,Car\AGround,0 Car\AGround=Car\AGround+(GroundForce-Car\Gewicht*0.01)*0.05 EndIf For i=1 To 4 PositionEntity Car\WObject[i],Car\XPWheel[i],Car\ZPWheel[i],Car\YPWheel[i] Next EndIf Next signal$="ALARM" While MilliSecs() < (15)+time signal$="" Wend time=MilliSecs() UpdateWorld RenderWorld Car.tcar= First tcar Text 0,0,ffffl Text 900,0,signal Flip Until KeyHit(1) End .WaySearcher Car\WayIndex=0 Car\WayListIndex=0 XObject=Car\XPos/10 YObject=Car\YPos/10 XTarget=WayPoint(Car\CurrentWayPoint,0) YTarget=WayPoint(Car\CurrentWayPoint,1) Car\WayListIndex=Car\WayListIndex+1 WayList(Car\WayListIndex,0)=0 WayList(Car\WayListIndex,1)=XObject WayList(Car\WayListIndex,2)=YObject WayList(Car\WayListIndex,3)=0 WayList(Car\WayListIndex,4)=Abs(xtarget-xobject)+Abs(ytarget-yobject) ; search... .begn min=9999999:Current=0:p=0 For i=1 To Car\WaylistIndex If Waylist(i,0)=0 Then p=1 CurF=WayList(i,3)+WayList(i,4) If WayList(i,0)=0 And min>CurF min=CurF Current=i EndIf Next If p=0 Then Found=0:Goto exxt WayList(Current,0)=1 g=WayList(Current,3) x=Waylist(Current,1) y=Waylist(Current,2) r=0 For j=-1 To 1 For i=-1 To 1 If x+i>XMaxMap Or x+i<0 Or y+j>YMaxMap Or x+j<0 Then Goto skippp If i<>0 Or j<>0 r=r+1 If Map(x+i,y+j,0)=0 flag=0 k=1 While k<Car\WayListIndex If x+i=WayList(k,1) And y+j=WayList(k,2) Then flag=1:Current=k:k=Car\WayListIndex k=k+1 Wend If flag=1 If WayList(Current,3)>g+1 And WayList(Current,0)=0 Map(x+i,y+j,1)=r WayList(Current,0)=0 WayList(Current,1)=x+i WayList(Current,2)=y+j WayList(Current,3)=g+1 WayList(Current,4)=Abs(x+i-XTarget)+Abs(y+j-YTarget) EndIf Else Map(x+i,y+j,1)=r Car\WayListIndex=Car\WayListIndex+1 WayList(Car\WayListIndex,0)=0 WayList(Car\WayListIndex,1)=x+i WayList(Car\WayListIndex,2)=y+j WayList(Car\WayListIndex,3)=g+1 WayList(Car\WayListIndex,4)=Abs(x+i-XTarget)+Abs(y+j-YTarget) EndIf EndIf EndIf If x+i=XTarget And y+j=YTarget Then Found=1:Goto exxt .skippp Next Next ;cccc=cccc+1:If cccc=20 Then Goto exxt Goto begn .exxt Text 0,0,Found If Not found Then Goto exxit x=XTarget y=YTarget ;....................................... .beggn Car\WayIndex=Car\WayIndex+1 Way(Car\WayIndex,0)=x Way(Car\WayIndex,1)=y If Map(x,y,1)=1 y=y+1 x=x+1 ElseIf Map(x,y,1)=2 y=y+1 ElseIf Map(x,y,1)=3 y=y+1 x=x-1 ElseIf Map(x,y,1)=4 x=x+1 ElseIf Map(x,y,1)=5 x=x-1 ElseIf Map(x,y,1)=6 y=y-1 x=x+1 ElseIf Map(x,y,1)=7 y=y-1 ElseIf Map(x,y,1)=8 y=y-1 x=x-1 EndIf If x<0 Then x=0 If x>xmaxmap Then x=xmaxmap If y<0 Then y=0 If y>ymaxmap Then y=ymaxmap If (x=XObject And y=YObject) Then Goto exxit ;ccc=ccc+1: If ccc=7 Then Goto exxit Goto beggn .exxit Return habe die Models durch einfache Forms ersetzt.. |
||
Übersicht
BlitzBasic
Allgemein
Powered by phpBB © 2001 - 2006, phpBB Group
