Problem mit der Ki

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

sven123

Betreff: Problem mit der Ki

BeitragMo, Dez 20, 2004 19:06
Antworten mit Zitat
Benutzer-Profile anzeigen
So ich versuche jetzt für mein spiel eine Ki zu entwerfen und habe mir folgende Funktion erstelt,hier Prüft das Objekt Modell per Entitypick ob der Himmel in Reichweite ist,wenn ja soll die Drone stoppen(fürs erste),das tut sie aber nicht?Warum obwohl ich den einsatzt von entitypick wie in der Onlinehilfe beschrieben angewand habe!

So nun Versuche ich die Ki für eine Drone zu schreiben(in BB3d),dazu verwende ich Entitypick um ein hinternis zu erkennen und dann die nötigen Reaktionen einzuleiten!Zu Testzwecken soll das Model(Drone) so bal durch entitypick der Himmel erkannt wird stehenbleiben.Dies funktioniert aber nicht warum?Ich habe mir noch mehrmals den Eintrag in der Onlinehilfe angeschaut,bin aber zu dem Schluss gekommwn das der Einsatz von Entitypick richtig ist also muss der Fehler irgendwo anderst liegen,ich weis nur nicht wo!
BlitzBasic: [AUSKLAPPEN]

;KI
Function KI(Modell,Himmel)
RotateEntity Modell,0,270,0
EntityPickMode Modell,2,0
EntityPickMode Himmel,2,0
scan=EntityPick(Modell,20)
If scan Then
MoveEntity Modell,0,0,0
Else
MoveEntity Modell,-5,0,0
EndIf
End Function
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken
 

Darren

BeitragMo, Dez 20, 2004 20:34
Antworten mit Zitat
Benutzer-Profile anzeigen
aber dui rufst die function nich zufällig in jeder schleife auf oder??
wenn ja dann entferne das entitypickmode es reicht wenn du das einmal benutzt aber so sieht das für mich plausibel aus....
MFG Darren
 

sven123

BeitragMo, Dez 20, 2004 20:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Funktioniert immer noch nicht!Und eben der Code sieht plausibel aus deswegen finde ich ja auch den Fehler nicht!hier ich Poste mal den Ganzen Code!Ich habe jetzt das entitypickmode auserhalb der Funktion und auserhalb der repeat-Schleife geschrieben,ich hoffe der ganze Code ist einigermase Verständlich.
BlitzBasic: [AUSKLAPPEN]
Graphics3D 800,600,0,1
AppTitle \"Rammjäger\"
HidePointer
SetBuffer BackBuffer()
SeedRnd MilliSecs()
Locate 350,250
Print \"Load...\"
;Laden der Texturen und Meshs
terrain=LoadTerrain(\"f:\Grassclip.bmp\")
text1=LoadTexture(\"f:\Gras.jpg\")
metallpyramide=LoadMesh(\"f:\pyramide.x\")
Gebaude=LoadMesh(\"f:\house.x\")
Gebaude2=LoadMesh(\"f:\house.x\")
Burg=LoadMesh(\"f:\Burg.x\")
himmel=LoadTexture(\"f:\himmel2.jpg\")
Zielscheibe=LoadMesh(\"f:\Plakat.3ds\")
cockpit=LoadImage(\"f:\rearcockpit1.bmp\")
Fadenkreutz=LoadImage(\"f:\Fadenkreutz.bmp\")
Tod=LoadImage(\"f:\gesplitert.bmp\")
sprite=LoadSprite(\"f:\Blitz.jpg\")
Buttonja=LoadImage(\"F:\weiter.bmp\")
ButtonjaAn=LoadImage(\"F:\weiteran.bmp\")
ButtonNein=LoadImage(\"F:\Ende.bmp\")
ButtonNeinan=LoadImage(\"F:\Endean.bmp\")
;Sprites
ScaleSprite sprite,15,15
HideEntity sprite
;Type Schuss
Type bullets
Field sprite
Field life
Field speed#
Field max_life
End Type
;Globals
Global angel=270
Global move=0
Global angelsprite=0
Global collision=0
;
Global xButtonja=100
Global yButtonja=300
Global xButtonNein=550
Global yButtonNein=310
Global sperre=0
Global sperre2=0
Global sperre1=0
Global GameOver=0
Global steuerung=0
;Himmel richtig drehen
sky=CreateSphere(100)
FlipMesh sky
ScaleEntity sky,5500,7000,5500
PositionEntity sky,6500,1000,6800
;Metallpyramide
PositionEntity metallpyramide,5000,20,7800
PositionEntity Zielscheibe,3000,500,4000
EntityShininess Zielscheibe,1
EntityShininess metallpyramide,1
;Bäume
Baeume(25,6,8000,5,9000,3000,10000,5,2000,10000)
;
;Häuser Positionieren
PositionMesh Gebaude,9000,-250,-9000
RotateMesh Gebaude,180,0,0
PositionMesh Gebaude2,9050,-250,-9450
RotateMesh Gebaude2,180,0,0

;Burg
PositionEntity Burg,5000,-5,8000
;Das Terrain erstellen und Texturieren
EntityTexture terrain,text1,0,0
ScaleEntity terrain,50,60,50
ScaleTexture text1,20,20
TerrainDetail terrain,8000,True
;Die Textur des Himmels bearbeiten und verwenden
EntityTexture sky,himmel
;;;;;;;;;;;;;;;;;;;;;;;;;;------Die Eintsellung der Kamera auf Firstpersonsicht sicht
;;
;;
;Kameravoreinstellungen
cam=CreateCamera()
PositionEntity cam,5100,2050,8075
EntityRadius cam,5
;
CameraRange cam,1,80000
light=CreateLight()
LightRange light,80000
EntityParent light,cam
TurnEntity cam,10,106,0
PositionEntity cam,3007,4025,5845
TurnEntity cam,270,0,270
;Kollisionsabfrage
EntityType cam,1
EntityType terrain,2
EntityType Burg,3
EntityType metallpyramide,4
EntityType sky,5
EntityType Zielscheibe,10
EntityType Gebaude,7
EntityType Gebaude2,7
;
Collisions 1,2,2,1
Collisions 1,3,2,1
Collisions 1,4,2,1
Collisions 1,5,2,1
Collisions 1,6,2,1
Collisions 1,7,2,1
Collisions 10,5,2,0
;
EntityOrder sky,1
;Hier ist der Ausgelagerte entitypickteil
EntityPickMode Zielscheibe,2,0
EntityPickMode sky,1,0
;Steuerung des Spielers
;;;;;;;;;;;;;;;;;;;;-------Hauptschleife
Repeat
If EntityCollided(cam,2)
GameOver=1
steuerung=1
EndIf
If EntityCollided(cam,6)
GameOver=1
steuerung=1
EndIf
If EntityCollided(cam,7)
GameOver=1
steuerung=1
EndIf
If EntityCollided(cam,3)
GameOver=1
steuerung=1
EndIf
If EntityCollided(cam,4)
GameOver=1
steuerung=1
EndIf
;Steuerung der Drone
KI(Zielscheibe,sky)
;Mausabfrage und Steuerung
If steuerung=0 Then
steuerung(cam,200,0,205,203,-20,20,20)
Fall(cam,3.485,2000,1.25,9.812,2,200)
EndIf
Cls
If MouseHit(1) Then add_bullet(sprite,40,40,cam)
;Bewegung der Schüsse
move_bullets()
If KeyDown(1) Then End
UpdateWorld
RenderWorld
MaskImage Tod,255,255,255
If GameOver=1 Then
DrawImage Tod,0,0
If sperre=0 Then
DrawImage Buttonja,xButtonja,yButtonja
DrawImage ButtonNein,xButtonNein,yButtonNein
EndIf
If KeyDown(205) Then
sperre1=1
sperre=1
sperre2=0
EndIf
If KeyDown(203) Then
sperre2=1
sperre=1
sperre1=0
EndIf
If sperre=1 Then
DrawImage Buttonja,xButtonja,yButtonja
DrawImage ButtonNeinan,xButtonNein,yButtonNein
If KeyDown(28)=1 And sperre1=1 Then End
EndIf
If sperre2=1 Then
DrawImage ButtonjaAn,xButtonja,yButtonja
DrawImage ButtonNein,xButtonNein,yButtonNein
If KeyDown(28)=1 And sperre2=1 Then
GameOver=0
steuerung=0
PositionEntity cam,5100,2050,8075
PositionEntity cam,3007,4025,5845
TurnEntity cam,10,106,0
TurnEntity cam,270,0,27
EndIf
EndIf
EndIf
;
MaskImage cockpit,128,128,255
DrawImage Fadenkreutz,375,279
DrawImage cockpit,0,380
screenshot(25)
Flip
Until KeyDown(1) End
ClearWorld
End
;Funktionen
Function add_bullet(sprite,max_life,speed#,cam) ;erstellt ein sprite
b.bullets=New bullets
b\sprite=CopyEntity (sprite)
EntityFX sprite,16
EntityType b\sprite,11
EntityRadius b\sprite,0.1
b\max_life=120
b\speed#=speed#
PositionEntity b\sprite,EntityX(cam),EntityY(cam),EntityZ(cam)
RotateEntity b\sprite,EntityPitch(cam),EntityYaw(cam),EntityRoll(cam)
RotateSprite b\sprite,angelsprite
If angelsprite > 360 Then angelsprite=0
angelsprite=angelsprite+20
ShowEntity b\sprite
End Function
;
Function move_bullets() ;bewegt die sprites
For b.bullets=Each bullets
MoveEntity b\sprite,0,0,b\speed#
b\life=b\life+1
If b\life>b\max_life Then FreeEntity b\sprite : Delete b
Next
End Function
;Bäume setzen
Function Baeume(anzahl,collisionNumber,realPositionx,realPositiony,realPositionz,copyPositionrndx1,copyPositionrndx2,constanty,copyPositionrndz1,copyPositionrndz2)
Baumstumpf=LoadMesh(\"f:\Baumstumpf.x\")
PositionEntity Baumstumpf,realPositionx,realPositiony,realPositionz
For a=1 To anzahl
Baum=CopyEntity (Baumstumpf)
PositionEntity Baum,Rnd#(copyPositionrndx1,copyPositionrndx2),constanty,Rnd#(copyPositionrndz1,copyPositionrndz2)
EntityType Baum,collisionNumber
Next
End Function
;Screenshots
Function screenshot(key)
If KeyHit(key)=1 Then
tasten=1
SaveBuffer BackBuffer(),\"F:\Screenshots.bmp\"
tasten=0
EndIf
End Function
;Steuerung
Function steuerung(entity,oben,unten,rechts,links,lspeed,rspeed,zspeed)
RotateEntity entity,EntityPitch(entity)+MouseYSpeed(),EntityYaw(entity)-MouseXSpeed(),0
If KeyDown(oben)=1 Then MoveEntity entity,0,0,zspeed
If KeyDown(links)=1 Then MoveEntity entity,lspeed,0,0
If KeyDown(rechts)=1 Then MoveEntity entity,rspeed,0,0
End Function
;KI
Function KI(Modell,Himmel)
RotateEntity Modell,0,270,0
scan=EntityPick(Modell,200)
If scan Then
ausschluss=1
EndIf
If ausschluss=0 Then
MoveEntity Modell,-5,0,0
EndIf
End Function
;Fall mit Luftreibung
Function Fall(Objekt,cw#,OG#,LD#,g#,AO#,up)
G1#=0.5*cw#*LD#*AO#
G2#=OG*g
Ggesamt#=G2#/G1#
Fall#=Ggesamt#^0.5
If Not KeyDown(up) Then MoveEntity Objekt,0,-Fall#,0
End Function
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken
 

Darren

BeitragMo, Dez 20, 2004 21:02
Antworten mit Zitat
Benutzer-Profile anzeigen
versuch es mal so:

BlitzBasic: [AUSKLAPPEN]
Function KI(Modell,Himmel)
RotateEntity Modell,-90,0,0 ; oder + 90 weiß ich net genau
scan=EntityPick(Modell,200)
If scan = Himmel Then
ausschluss=1
EndIf
If ausschluss=0 Then
MoveEntity Modell,-5,0,0
EndIf
End Function
MFG Darren
 

sven123

BeitragMo, Dez 20, 2004 21:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich das um 90 Grad drehe steht das Objekt nicht richtig!
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken
 

sven123

BeitragMo, Dez 20, 2004 21:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Habs jetzt mal versucht geht aber auch nicht!
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken
 

sven123

BeitragDi, Dez 21, 2004 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Jetzt habe ich die funktion KI aus der repeat-Schleife genommen und sie bei den anderen Collisions eingefügt jetz fliegt die drone gar nicht mehr warum?Wie mache ich es richtig?
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken
 

Darren

BeitragDi, Dez 21, 2004 15:59
Antworten mit Zitat
Benutzer-Profile anzeigen
die ki function musst du schon in der schleife lassen sonst bewegt sich ja das objekt nicht ich denke du solltest ersteiinmal dir die inpactutorials reinziehen. die gibs bei google Wink Wink Wink aber versuche es mal mit linepick das ist um einiges flexibler als entitypick damit kannst du auch die richtung bestimmen ohne das objekt drehen zu müssen.....
MFG Darren

Fabi_17

BeitragDi, Dez 21, 2004 19:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Sry sven aber probiers mal mit klebstoff wenn deine drohne anhalten soll; ne mal im ernst kein plan ich weiss nur das dein spiel net schlecht ist!!!!(okay klar fehlen noch ein paar verbesserungen aber das wird schon so nun will ich dich mal nicht weiter nerven!!!! Very Happy bis dann 8)
 

sven123

BeitragDi, Dez 21, 2004 19:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo Fabi unser Fourums Phantom!Jooo!
So aber jetzt zu meiner Frage ich habe jetzt den code auf linepick umgestellt doch der funktioniert auch nicht.Warum?
Code: [AUSKLAPPEN]
;KI
Function KI(Modell,Himmel)
EntityPickMode Modell,2,0
EntityPickMode Himmel,1,0
 x=EntityX(Modell)
 y=EntityY(Modell)
 z=EntityZ(Modell) 

  RotateEntity Modell,0,270,0
  scan=LinePick(x,y,z,0,0,100)
  If scan Then
  ausschluss=1
  EndIf
If ausschluss=0 Then
MoveEntity Modell,-5,0,0
EndIf
End Function
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken
 

Darren

BeitragDi, Dez 21, 2004 20:28
Antworten mit Zitat
Benutzer-Profile anzeigen
willst du nicht nach oben picken???? wenn ja solltest du bei linepick bei y-delta 200 oder so eingebn anstatt bei z-delta... aber sonst hab ich auch keinen weiteren tip
MFG Darren
 

sven123

BeitragDi, Dez 21, 2004 23:00
Antworten mit Zitat
Benutzer-Profile anzeigen
ne ich will nach vorne picken!
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken
 

Darren

BeitragDi, Dez 21, 2004 23:12
Antworten mit Zitat
Benutzer-Profile anzeigen
UND NIMM DIESES SCHEISS ENTITYPICKMODE AUS DER FUNKTION RAUS!!!

sonsd kann ich aber keinen fehler feststellen
MFG Darren
 

sven123

BeitragMi, Dez 22, 2004 0:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja ich poste dir jetzt mal noch mal den Gesamten Quellcode,jetzt habe ich wieder den entitypickmode aus der Funktion genommen.Auserdem habe ich noch mals das ganze Programm durchgeschaut finde aber keinen Fehler!WArum geht der Mist nicht(zu tote Ärger) Twisted Evil
Code: [AUSKLAPPEN]
Graphics3D 800,600,0,1
AppTitle "Rammjäger"
HidePointer
SetBuffer BackBuffer()
SeedRnd MilliSecs()
Locate 350,250
Print "Load..."
;Laden der Texturen und Meshs
terrain=LoadTerrain("f:\Grassclip.bmp")
text1=LoadTexture("f:\Gras.jpg")
metallpyramide=LoadMesh("f:\pyramide.x")
Gebaude=LoadMesh("f:\house.x")
Gebaude2=LoadMesh("f:\house.x")
Burg=LoadMesh("f:\Burg.x")
himmel=LoadTexture("f:\himmel2.jpg")
Zielscheibe=LoadMesh("f:\Plakat.3ds")
cockpit=LoadImage("f:\rearcockpit1.bmp")
Fadenkreutz=LoadImage("f:\Fadenkreutz.bmp")
sprite=LoadSprite("f:\Blitz.jpg")
Buttonja=LoadImage("F:\weiter.bmp")
ButtonjaAn=LoadImage("F:\weiteran.bmp")
ButtonNein=LoadImage("F:\Ende.bmp")
ButtonNeinan=LoadImage("F:\Endean.bmp")
Tod=LoadImage("f:\gesplitert.bmp")
;Sprites
ScaleSprite sprite,15,15
HideEntity sprite
;Type Schuss
Type bullets
Field sprite
Field life
Field speed#
Field max_life
End Type
;Globals
Global angel=270
Global move=0
Global angelsprite=0
Global collision=0
;
Global xButtonja=100
Global yButtonja=300
Global xButtonNein=550
Global yButtonNein=310
Global sperre=0
Global sperre2=0
Global sperre1=0
Global GameOver=0
Global steuerung=0
;Himmel richtig drehen 
sky=CreateSphere(100)
FlipMesh sky
ScaleEntity  sky,5500,7000,5500
PositionEntity sky,6500,1000,6800
;Metallpyramide
PositionEntity metallpyramide,5000,20,7800
PositionEntity Zielscheibe,3000,500,4000
EntityShininess Zielscheibe,1
EntityShininess metallpyramide,1
;Bäume
Baeume(25,6,8000,5,9000,3000,10000,5,2000,10000)
;
   ;Häuser Positionieren
    PositionMesh Gebaude,9000,-250,-9000
    RotateMesh Gebaude,180,0,0
    PositionMesh Gebaude2,9050,-250,-9450
    RotateMesh Gebaude2,180,0,0
       
    ;Burg
    PositionEntity Burg,5000,-5,8000
   ;Das Terrain erstellen und Texturieren 
   EntityTexture terrain,text1,0,0
   ScaleEntity terrain,50,60,50
   ScaleTexture text1,20,20
   TerrainDetail terrain,8000,True     
;Die Textur des Himmels bearbeiten und verwenden
EntityTexture sky,himmel
;;;;;;;;;;;;;;;;;;;;;;;;;;------Die Eintsellung der Kamera auf Firstpersonsicht sicht
;;
;;
;Kameravoreinstellungen
cam=CreateCamera()
PositionEntity cam,5100,2050,8075
EntityRadius cam,5
;
CameraRange cam,1,80000
light=CreateLight() 
LightRange light,80000
EntityParent light,cam
TurnEntity cam,10,106,0 
PositionEntity cam,3007,4025,5845
TurnEntity cam,270,0,270     
;Kollisionsabfrage
EntityType cam,1
EntityType terrain,2
EntityType Burg,3
EntityType metallpyramide,4
EntityType sky,5
EntityType Zielscheibe,10
EntityType Gebaude,7
EntityType Gebaude2,7
;
Collisions 1,2,2,1 
Collisions 1,3,2,1
Collisions 1,4,2,1
Collisions 1,5,2,1
Collisions 1,6,2,1
Collisions 1,7,2,1
Collisions 10,5,2,0
;
EntityPickMode Zielscheibe,2,0
EntityPickMode sky,1,0
EntityOrder sky,1

;Steuerung des Spielers 
;;;;;;;;;;;;;;;;;;;;-------Hauptschleife
Repeat
If EntityCollided(cam,2)
GameOver=1
steuerung=1
EndIf
If EntityCollided(cam,6)
GameOver=1
steuerung=1
EndIf
If EntityCollided(cam,7)
GameOver=1
steuerung=1
EndIf
If EntityCollided(cam,3)
GameOver=1
steuerung=1
EndIf
If EntityCollided(cam,4)
GameOver=1
steuerung=1
EndIf   
;Mausabfrage und Steuerung
If steuerung=0 Then
steuerung(cam,200,0,205,203,-20,20,20)
Fall(cam,3.485,2000,1.25,9.812,2,200)
EndIf
;Steuerung der Drone
KI(Zielscheibe,sky)   
Cls
If MouseHit(1) Then add_bullet(sprite,40,40,cam)
;Bewegung der Schüsse
move_bullets()       
If KeyDown(1) Then End
UpdateWorld
RenderWorld
If GameOver=1 Then
Ende(Buttonja,ButtonjaAn,ButtonNein,ButtonNeinan,Tod,cam)
EndIf
;
MaskImage cockpit,128,128,255
DrawImage Fadenkreutz,375,279
DrawImage cockpit,0,380
screenshot(25)
Flip
Until KeyDown(1) End   
ClearWorld
End
;Funktionen
Function add_bullet(sprite,max_life,speed#,cam) ;erstellt ein sprite
   b.bullets=New bullets
   b\sprite=CopyEntity (sprite)
   EntityFX sprite,16
   EntityType b\sprite,11
   EntityRadius b\sprite,0.1
   b\max_life=120
   b\speed#=speed#
   PositionEntity b\sprite,EntityX(cam),EntityY(cam),EntityZ(cam)
   RotateEntity b\sprite,EntityPitch(cam),EntityYaw(cam),EntityRoll(cam)
   RotateSprite b\sprite,angelsprite
   If angelsprite > 360 Then angelsprite=0
   angelsprite=angelsprite+20
   ShowEntity b\sprite
End Function
;
Function move_bullets() ;bewegt die sprites
   For b.bullets=Each bullets
      MoveEntity b\sprite,0,0,b\speed#
      b\life=b\life+1
      If b\life>b\max_life Then FreeEntity b\sprite : Delete b   
   Next
End Function       
;Bäume setzen
Function Baeume(anzahl,collisionNumber,realPositionx,realPositiony,realPositionz,copyPositionrndx1,copyPositionrndx2,constanty,copyPositionrndz1,copyPositionrndz2)
     Baumstumpf=LoadMesh("f:\Baumstumpf.x")
     PositionEntity Baumstumpf,realPositionx,realPositiony,realPositionz
   For a=1 To anzahl
 Baum=CopyEntity (Baumstumpf)
 PositionEntity Baum,Rnd#(copyPositionrndx1,copyPositionrndx2),constanty,Rnd#(copyPositionrndz1,copyPositionrndz2)
 EntityType Baum,collisionNumber
Next
End Function
;Screenshots
Function screenshot(key)
   If KeyHit(key)=1 Then
   tasten=1
   SaveBuffer BackBuffer(),"F:\Screenshots.bmp"
   tasten=0
   EndIf
End Function
;Steuerung
Function steuerung(entity,oben,unten,rechts,links,lspeed,rspeed,zspeed)
  RotateEntity entity,EntityPitch(entity)+MouseYSpeed(),EntityYaw(entity)-MouseXSpeed(),0   
   If KeyDown(oben)=1 Then MoveEntity entity,0,0,zspeed   
   If KeyDown(links)=1 Then MoveEntity entity,lspeed,0,0
   If KeyDown(rechts)=1 Then MoveEntity entity,rspeed,0,0
End Function
;KI
Function KI(Modell,Himmel)
 x=EntityX(Modell)
 y=EntityY(Modell)
 z=EntityZ(Modell) 

  RotateEntity Modell,0,270,0
  scan=LinePick(x,y,z,0,0,100)
  If scan=1 Then
  ausschluss=1
  EndIf
If ausschluss=0 Then
MoveEntity Modell,-5,0,0
EndIf
End Function
;Fall mit Luftreibung
Function Fall(Objekt,cw#,OG#,LD#,g#,AO#,up)
   G1#=0.5*cw#*LD#*AO#
   G2#=OG*g
   Ggesamt#=G2#/G1#
   Fall#=Ggesamt#^0.5
If Not KeyDown(up) Then MoveEntity Objekt,0,-Fall#,0
End Function
;End Funktion
Function Ende(B1,B2,B3,B4,B5,Modell)
   MaskImage B5,255,255,255
   If GameOver=1 Then
   DrawImage B5,0,0
;Anzeigen von 2 Buttons z.B ja und nein!!!!!!
   If sperre=0  Then
   DrawImage B1,xButtonja,yButtonja
   DrawImage B3,xButtonNein,yButtonNein
   EndIf
; Makierung der Buttons bei Tastendruck
If KeyDown(205) Then
sperre1=1
sperre=1
sperre2=0
EndIf
 If KeyDown(203) Then
 sperre2=1
 sperre=1
 sperre1=0
 EndIf 
 If sperre=1 Then 
 DrawImage B1,xButtonja,yButtonja
 DrawImage B4,xButtonNein,yButtonNein
 If KeyDown(28)=1 And sperre1=1 Then End 
 EndIf
If sperre2=1 Then
DrawImage B2,xButtonja,yButtonja
DrawImage B3,xButtonNein,yButtonNein
;Neustart des Games durch Variabelen zurücksetzen
If KeyDown(28)=1 And sperre2=1 Then
GameOver=0
steuerung=0
 PositionEntity Modell,5100,2050,8075
 PositionEntity Modell,3007,4025,5845
 TurnEntity Modell,10,106,0 
 TurnEntity Modell,270,0,27
EndIf 
EndIf
EndIf
End Function
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken
 

Darren

BeitragMi, Dez 22, 2004 15:08
Antworten mit Zitat
Benutzer-Profile anzeigen
also die oh sagt folgendes:

ENTITYPICKMODE Entity, Geometrie [,Verdecken]


Beschreibung Blitz3D

Die Anweisung ENTITYPICKMODE stellt die Auswahlart für ein Objekt ein.

In BlitzBasic gibt es verschiedene Arten von Auswahlmöglichkeiten (pick mode). Mit ENTITYPICKMODE stellt man zuerst den Modus ein. Danach kann ein Objekt mit den Befehlen CAMERAPICK, ENTITYPICK oder LINEPICK ausgewählt werden.



Parameter
Entity = Identität eines Objekts (entity)
Geometrie = Art der Auswahl:
0=nicht auswählbar
1=Kugel (siehe ENTITYRADIUS)
2=Polygon
3=Quader (siehe ENTITYBOX)
Verdecken = 0=normal
1=kann andere Objekte verdecken (Standard)



was heißen soll, dass du entweder bei geometrie den parameter 2 nimmst oder den radius anpasst. dann müsste es funzen
MFG Darren
 

Dreamora

BeitragMi, Dez 22, 2004 15:42
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn du linepick nimmst, dann musst du dir wohl oder übel die koords ein wenig umrechnen lassen, von EntitySpace Koordinaten und WorldSpace Koordinaten

Code: [AUSKLAPPEN]
Function KI(Modell,Himmel)
 x=EntityX(Modell)
 y=EntityY(Modell)
 z=EntityZ(Modell)

  tformpoint x, y, z + 100, Modell, 0

  RotateEntity Modell,0,270,0
  scan=LinePick(x,y,z,tformedx()-x,tformedy()-y,tformedz() - z)
  If scan=1 Then
  ausschluss=1
  EndIf
If ausschluss=0 Then
MoveEntity Modell,-5,0,0
EndIf
End Function
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Darren

BeitragMi, Dez 22, 2004 15:58
Antworten mit Zitat
Benutzer-Profile anzeigen
STIMMT NICHT!!! in der oh steht relative koordinaten!! was heißen soll dass 100 einheiten nach vorne gepickt wird..... 8) 8) 8)
MFG Darren
 

sven123

BeitragMi, Dez 22, 2004 16:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm.Ok áber wie kann ich jetzt die länge von scan=LinePick(x,y,z,tformedx()-x,tformedy()-y,tformedz() - z) Varieren,also die letzten delta Parameter?
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken
 

Dreamora

BeitragMi, Dez 22, 2004 16:10
Antworten mit Zitat
Benutzer-Profile anzeigen
den abstand bestimmst du beim TForm, wie weit er von deinem model aus model sicht weg sein soll. beim linepick gibts nix mehr zu varieren, sonst stimmts nicht mehr
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

sven123

BeitragMi, Dez 22, 2004 18:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die Hilfe bis jetzt.Doch irgendwie stoppt die Drone immer noch nicht wenn sie in die nähe des Himmels kommt.Das ich bei tform x-200 gemach habe muss so sein den ich habe die Dron um 270 Grad gedreht und um Vorwärts zu fliegen muss bei ihr bei moveentity der x Parameter mit -einer Zahl belegt sein das sie in die rchtige richtung fleigt.
Code: [AUSKLAPPEN]
;KI
Function KI(GegnerDrone,HimmelDerWelt)
 x=EntityX(GegnerDrone)
 y=EntityY(GegnerDrone)
 z=EntityZ(GegnerDrone) 


  TFormPoint x-200, y, z ,GegnerDrone, 0

  RotateEntity GegnerDrone,0,270,0
  scan=LinePick(x,y,z,TFormedX()-x,TFormedY()-y,TFormedZ() - z) 
  If scan=1 Then
  ausschluss=1
  EndIf
If ausschluss=0 Then
MoveEntity GegnerDrone,-5,0,0
EndIf
End Function
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will
Fertiges Projekt:Invasion der Heuschrecken

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group