explosion wie?
Übersicht

Gehe zu Seite Zurück 1, 2, 3 Weiter
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
"terrain" ist nicht global. | ||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
masterman123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke nicdel jetzt get es,aber weißt du ob in der funktion noch was stehen kann
Code: [AUSKLAPPEN] Function flugzeug()
For i=1 To CountCollisions(plane1) If CollisionEntity(plane1, i)= terrain Print "Sie haben verloren hahaha,drücke escape" HideEntity plane1 WaitKey() EndIf Next End Function kann man dann noch irgendwie das einfügen Code: [AUSKLAPPEN] If CollisionEntity(plane1, i)= gegner1
Print "gewonnen" Hideentity gegner1 WaitKey() EndIf |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja natürlich, du hast es total verstanden... das kann da rein
BlitzBasic: [AUSKLAPPEN] Function flugzeug() |
||
masterman123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke:)
aber das waitkey() funktioniert nicht es geht ohne knopf drücken weiter und er zeigt den satz nur ganz kurz an,aber für mein spiel brauch ich es nicht will es nur wissen |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kurz vor Waitkey() noch ein FlushKeys![]() |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
masterman123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke eingeproggt
kann man so was machen Code: [AUSKLAPPEN] ElseIf CollisionEntity(plane1, i)= landebahn And gegneranzahl=0 Then
Print "hallo" HideEntity plane1 wenn ja dann wie? so geht es nähmlich nicht |
||
- Zuletzt bearbeitet von masterman123 am So, Jan 03, 2010 15:06, insgesamt einmal bearbeitet
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eigentlich wird soetwas statt mit WAITKEY() besser so gemacht:
In dem Moment der Kollision wird ein "Flag" gesetzt: Das ist einfach eine Vairable, die die ganze Zeit 0 ist und im Moment der Kollision auf 1 gesetzt wird. Durch dieses Flag kannst Du in anderen Teilen deines Programm Dinge geschehen lassen: BlitzBasic: [AUSKLAPPEN] BlitzBasic: [AUSKLAPPEN] Function Flugzeug() |
||
- Zuletzt bearbeitet von Midimaster am So, Jan 03, 2010 15:18, insgesamt einmal bearbeitet
masterman123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok
ich habs jetzt so Code: [AUSKLAPPEN] For i=1 To CountCollisions(plane1)
If CollisionEntity(plane1, i)= terrain HideEntity plane1 flugzeuggetroffen=1 WaitKey() ElseIf CollisionEntity(plane1, i)= gegner1 HideEntity gegner1 gegneranzahl=1 |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was ist denn "Landebahn" genau? Kam bisher in deinem Code gar nicht vor... | ||
masterman123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hab ich hinzugefügt hier der aktuellle code
Code: [AUSKLAPPEN] Graphics3D 800,600,32,1;SETZT UMGEBUNG IN 3D (800=HÖHE,600=BREITE,32=BITANZAHL,1=GROßBILDSCHIRM
SetBuffer BackBuffer();ÄNDERT BUFFER IN HINTERGRUNDBUFFER Global gegneranzahl=2 Global flugzeuggetroffen=0 Const map=1 Const player=2 Const gegner=3 Const gegnera=4 Const landebahn1=5 ;;;;terrain Global terrain=LoadTerrain("heightmap1.bmp");LADET TERRAIN text1=LoadTexture("gras.bmp");LADET TEXTUR text2=LoadTexture ("terrain text2.bmp");WIE OBEN text3=LoadTexture("mapt1.bmp");WIE OBEN EntityType terrain,map EntityTexture terrain,text1;VERBINDET TEXTUR(ERSTE SCHICHT) EntityTexture terrain,text2,0,1;WIE OBEN(ZWEITE SCHICHT) EntityTexture terrain,text3,0,2;WIE OBEN(DRITTE SCHICHT) ScaleEntity terrain,20,500,20;ÄNDERT SKALLIERUNG EINES 3D OBJEKTS PositionEntity terrain,-20*512,0,-20*512 ScaleTexture text2,3,3;WIE OBEN BLOß EINER TEXTUR ;;;;wasser water=CreatePlane();MACHT EINE EBENE watertext=LoadTexture ("water2.bmp",2);TEXTUR LADEN EntityTexture water, watertext;VERBINDET TEXTUR ScaleTexture watertext,100,100;ÄNDERT TEXTUR MoveEntity water,0,10,0;BEWEGT DAS 3D OBJEKT ZU DEN KOORDINATEN EntityAlpha water,0.5;MACHT DAS 3D OBJEKT UNSICHTBAR(0=UNSICHTBAR;1=SICHTBAR ;;;;camera cam=CreateCamera();MACHT EINE KAMERA PositionEntity cam,1000,400,1000 CameraFogMode cam,1;NEBEL AN/AUS CameraRange cam,1,900000;MIN/MAX KAMERAENTFERNUNG CameraFogRange cam,100,4000;NEBEL ENTFERNUNG EINER KAMERA CameraFogColor cam,40,140,255;FARBE DES NEBELS CameraClsColor cam,40,140,255;ÄNDERT HINTERGRUNDFARBE DER KAMERA ;;;;;licht light=CreateLight();MACHT EIN LICHT TurnEntity light,45,45,0;DREHT DAS OBJEKT UM EINEN RELATIVEN WINKEL ;;;;;plane Global plane1=LoadMesh("biplane.x");flugzeug laden PositionEntity plane1,1000,400,1050;positionieren TurnEntity plane1,0,180,0 EntityType plane1,player hi=LoadTexture("wings.bmp");texture laden hallo=LoadTexture("bihull.bmp");wie oben EntityTexture plane1,hi,0,0 EntityTexture plane1,hallo,0,1 ;;;;;pivot Piv=CreatePivot(plane1):PositionEntity Piv,0,0,10;macht einen pivot und positioniert ihn ;;;gegner Global gegner1=LoadMesh("biplane.x") PositionEntity gegner1,1000,400,1100 EntityType gegner1,gegner EntityTexture gegner1,hi,0,0 EntityTexture gegner1,hallo,0,1 ;;;;;gegner2 Global gegner2=LoadMesh("biplane.x") PositionEntity gegner2,2000,400,1300 EntityType gegner2,gegnera EntityTexture gegner2,hi,0,0 EntityTexture gegner2,hallo,0,1 ;;;;landebahn landebahn=CreateCube() PositionEntity landebahn,1000,50,1050 ScaleEntity landebahn,90,50,50 EntityType landebahn,landebahn1 EntityAlpha landebahn,1 Collisions player,map,2,2 Collisions player,gegner,2,1 Collisions player,gegnera,2,1 Collisions player,landebahn1,2,2 While Not KeyHit(1) If KeyDown(200) Then TurnEntity plane1,1,0,0 If KeyDown(208) Then TurnEntity plane1,-1,0,0 If KeyDown(205) Then TurnEntity plane1,0,0,2 If KeyDown(203) Then TurnEntity plane1,0,0,-2 If KeyDown(57) Then MoveEntity plane1,0,0,-1 MoveEntity plane1,0,0,-0.5 camsp#=.05;nur eine zahl ,dadurch muss man nicht immer die zahl eingeben dx#=(EntityX(Piv,1)-EntityX(cam,1))*camsp#;dx# =von piv die x koordinaten- die von der cam *camsp dy#=(EntityY(Piv,1)-EntityY(cam,1))*camsp#;das gleiche bloß mit y dz#=(EntityZ(Piv,1)-EntityZ(cam,1))*camsp#;das gleiche bloß mit z TranslateEntity cam,dx#,dy#,dz#;verschiebt das objekt um die koordienaten Yaw#=DeltaYaw(cam,plane1)*camsp#;liefert den y winkel zwischen den objekten *camsp Pitch#=DeltaPitch(cam,plane1)*camsp#;wie oben bloß x winkel *camsp TurnEntity cam,Pitch#,Yaw#,0;dreht die cam in den errechneten winkel UpdateWorld() flugzeug() RenderWorld() Text 20,50, gegneranzahl + "=wie viel gegner du einfangen musst" If gegneranzahl=1 Then Text 0,100,"Einen noch!" If gegneranzahl=0 Then Text 300,300, "Jetzt wieder zur Landebahn!!!" Text 300,0,"Du musst die Flugzeuge einfangen!" Text 200,20,"Steuern mit den Pfeiltasten und Nitro mit der Leertaste!" If flugzeuggetroffen=1 Then Text 300,300,"Sie haben verloren hahaha,press escape!" EndIf If landebahn=2 Then Text 300,300,"Sie haben Gewonnen!!!" Flip Wend ClearWorld End Function flugzeug() For i=1 To CountCollisions(plane1) If CollisionEntity(plane1, i)= terrain HideEntity plane1 flugzeuggetroffen=1 WaitKey() ElseIf CollisionEntity(plane1, i)= gegner1 HideEntity gegner1 gegneranzahl=1 ElseIf CollisionEntity(plane1, i)= gegner2 HideEntity gegner2 gegneranzahl=0 ElseIf CollisionEntity(plane1, i)= landebahn And gegneranzahl=0 Then HideEntity plane1 landebahn=2 EndIf Next End Function und das mein ichCode: [AUSKLAPPEN] ElseIf CollisionEntity(plane1, i)= landebahn And gegneranzahl=0 Then
HideEntity plane1 landebahn=2 EndIf ob das irgend wie geht |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
klar geht das, warum sollte es nicht gehen.
Allerdings würde ich dann das Flugzeug nicht verschwinden lassen. Ist ja alles gutgegangen. Und du nimmst das Wort "Landebahn" für einen CUBE und eine Variable. Das würde ich so nicht machen!!! Nenn die Variable lieber LandeBahnErreicht% BlitzBasic: [AUSKLAPPEN] ... |
||
masterman123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok hab ich gemacht
wenn die variable landebahnerreicht heißt muss es hier anders heißen Code: [AUSKLAPPEN] ElseIf CollisionEntity(plane1, i)= landebahn
If gegneranzahl=0 Then landebahnerreicht=2 jetzt wollte ich noch einen schuss einfügen der mit dem gegner kollidiert ich hatte ja nen schuss aber man konnte keine kollision erstellen,hab aber keine ahnung wie und noch ne tankanzeige die wenn sie leer ist das dann das flugzeug stehen bleibt,aber weiß ich glaub schon wie |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
aber das ist doch genau das gleiche wie flugzeug mit gegner?
diesmal halt der Vergleich "Schuss mit Gegner".... oben im code eine... Code: [AUSKLAPPEN] Collisions schuss, gegner,2,1
beim erstellen des Schuss... Code: [AUSKLAPPEN] EntityType neuerSchuss,Schuss
...oder wie immer dein Schuss-Entitiy heißt und dann die Abfrage: Code: [AUSKLAPPEN] If CollisionEntity(neuerSchuss, i)= Gegner1
u.s.w Tank-Anzeige machst Du über die Zeit, die das Flugzeug schon in der Luft ist. z.b. kann es 10 min (=10x60x1000 msec) in der Luft bleiben dann ist der Tank noch ((10x60x1000) - ( Millisecs() - Startzeit ) ) / (10x60x1000) * 100 Prozent voll |
||
masterman123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
der type
Code: [AUSKLAPPEN] Type Schuss
Field Entity End Type also hab einen schuss als funktion Code: [AUSKLAPPEN] Function NeuerSchuss()
S.Schuss = New Schuss S\Entity =CreateSphere(21) ScaleEntity S\Entity, 0.1, 0.1, 0.5 PositionEntity S\Entity,EntityX#(plane1),EntityY#(plane1),EntityZ#(plane1) RotateEntity S\Entity,EntityPitch#(plane1), EntityYaw#(plane1), EntityRoll#(plane1) EntityRadius S\Entity, 0.1 EntityType S\Entity,shot Magazin = Magazin - 1 End Function dann das Code: [AUSKLAPPEN] For T.Schuss = Each Schuss
MoveEntity T\Entity,0,0, 1;bewegt das objekt RotateEntity T\Entity,180,0,0 EntityParent T\Entity,plane1 If EntityDistance (T\Entity, plane1) > 50 Then;ist der abstand vom schuss und dem flugzeug höher als 50 dann HideEntity T\Entity;versteckt das objekt Delete T.Schuss;löscht das objekt EndIf Next die funktion wollte ich machen,aber ich weiß nicht was da rein kommt Code: [AUSKLAPPEN] Function schuss()
For i=1 To CountCollisions(Schuss) If CollisionEntity(Schuss, i)= gegner1 HideEntity gegner1 gegneranzahl=1 ElseIf CollisionEntity(S.Schuss, i)= gegner2 HideEntity gegner2 gegneranzahl=2 EndIf Next End Function kann mir jemand helfen das magazin Code: [AUSKLAPPEN] Global Magazin = 100
das wird dann angezeigt mit Code: [AUSKLAPPEN] Text 20,80,Magazin
das mit der tankanzeige hab ich nicht ganz begriffen aber jetzt hab ichs so gemacht Code: [AUSKLAPPEN] Global tankanzeige=2500
Code: [AUSKLAPPEN] If KeyDown(57) Then
MoveEntity plane1,0,0,-1 tankanzeige=tankanzeige-1 EndIf Code: [AUSKLAPPEN] Text 20,60,tankanzeige
If tankanzeige=<0 Then Text 300,320,"Sie haben zu lange gebraucht!!" |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
sieht doch schon ganz gut aus! was geht denn nicht?
Prüfe 3 Phasen: Schuss löst sich? Schuss fliegt? Schuss trifft? schalte zum testen die nachkommenden Phasen erst einmal aus. So näherst Du dich ev. Fehlern |
||
masterman123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
die kollision zeigt einen fehler an musste mal ein fügen die funktion ud alles bei bb3d ist ja ne kugel
und der schuss ist ja parent zum flugzeug und geht immer hinter her aber ich möchte es so haben das er sich löst und weiter fliegt und ich fliege wo anders hin aber ohne parent geht es garnicht und er ist an einer falschen stellen sieht nicht gut aus |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Der schuss darf nicht child zum flugzeug sein. Du mußt nur die akt. GLOBAL-Koordinaten des Flugzeugs als Startkoordinaten für die Kugel verwenden.
Oder mach ihn zunächst Child und dann löse die Verbindung wieder. |
||
masterman123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
haste nen beispiel | ||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
leider hab ich jetzt zu wenig zeit dazu und muss auch bald weg....
aber das macht dir bestimmt auch gleich gerne ein anderer hier, ansonsten gerne wieder heute nacht. |
||
masterman123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok danke
hat jemand eine verbesserung meiner steuerung ist nen bischen schlecht manch mal ist die kamera schief und das flugzeug gerade Code: [AUSKLAPPEN] camsp#=.05
dx#=(EntityX(Piv,1)-EntityX(cam,1))*camsp# dy#=(EntityY(Piv,1)-EntityY(cam,1))*camsp# dz#=(EntityZ(Piv,1)-EntityZ(cam,1))*camsp# TranslateEntity cam,dx#,dy#,dz# Yaw#=DeltaYaw(cam,plane1)*camsp# Pitch#=DeltaPitch(cam,plane1)*camsp# TurnEntity cam,Pitch#,Yaw#,0 |
||
Gehe zu Seite Zurück 1, 2, 3 Weiter
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group