Schüsse in einem 3d Firstpersonshooter
Übersicht

sven123Betreff: Schüsse in einem 3d Firstpersonshooter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also ich habe jetzt ein flugzeug das man aus der Firstpersonansicht steuert
nun möchte ich das man schießen kann.Ich habe mir gedacht das ich eine 3D Bullet entwerfe dieser dann als Startpunkt die Cam übergebe un wenn man die Maustaste betätigt werden mehrere Bullets per type erzeugt.Nur habe ich jetzt das Problem das im 3d Modus nichts in Variabelen gespeichert wird ich meine die bewegung. |
||
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 |
Timo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du musst die Bewegung abgespeichert haben, sonst würd sich das Flugzeug garnicht bewegen ![]() |
||
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich habe da einfach moveentity cam,0,-20,0 z.b gespeichert ist sie deswegen nicht zumindes nicht algemein. | ||
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 |
getlose |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
mit entityx/y und z kann man
zur not die aktuelle position abfragem. |
||
Timo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
joa du hast doch alles was du brauchst...
Position mittels EntityX() EntityY() und EntityZ() Drehung mittels EntityPitch() EntityYaw() und EntityRoll() und deine Geschwindigkeit beträgt 20 Einheiten / Frame |
||
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hab des jetzt mal so gemach funktioniert aber nicht.Bullet ist der 3d Schuss.
Code: [AUSKLAPPEN] PositionEntity bullet,EntityX(cam),EntityY(cam),EntityZ(cam) If MouseHit(1) Then MoveEntity bullet,0,0,EntityZ(cam)+20 |
||
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 |
getlose |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ach mensch, immer und immer wieder der gleiche fehler ![]() die kugel fliegt in diesem fall nur wenn die maustaste geklickt wurde. also ein paar milisecs, dann ist schluss. mit der suche wirst du einige sachen finden, zb wie man das ganze wunderbar mit types lösen kann. |
||
DDPhoenix |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
schau dir das mal an
http://www.blitzcoder.com/cgi-...omments=no weiß nicht ob der direktlink funktioniert... is das wonach du suchst? sonst versteh ich die frage nicht lol |
||
Another progger |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
DDPhoenix hat Folgendes geschrieben: is das wonach du suchst? sonst versteh ich die frage nicht lol Ich weiß auch net was die Frage meint aber wenn sie des meint wie ich meine meine ich das camerapick dir hilft ![]() |
||
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sorry für die vorherige Frage hab jetzt ein Art tut gefunden wo das drinn ist daraus habe ich jetzt vollgenden Code das Problem ich sehe weder meine Bullet noch bewegt sie sich.
Code: [AUSKLAPPEN] bulletsprite = LoadSprite("H:\bullet.jpg") HideEntity bulletsprite Type bullet Field obj,lifetime End Type PositionEntity cam,5100,2050,8075 If MouseHit(1) Then bullet.bullet = New bullet bullet\obj = CopyEntity(bulletsprite,cam) PositionEntity bullet\obj,EntityX#(cam)-0.01,EntityY#(cam)-0.01,EntityZ#(cam)+0.05 number_of_bullets = number_of_bullets + 1 EndIf |
||
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 |
![]() |
simi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich denke es fehlt noch ShowEntity .... | ||
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe jetzt showentity angegeben aber ich sehe trotzdem keine schüsse!Warum?
Code: [AUSKLAPPEN] bulletsprite = LoadSprite("H:\bullet.jpg")
HideEntity bulletsprite Type bullet Field obj,lifetime End Type PositionEntity cam,5100,2050,8075 If MouseHit(1) Then showentity bulletsprite bullet.bullet = New bullet bullet\obj = CopyEntity(bulletsprite,cam) PositionEntity bullet\obj,EntityX#(cam)-0.01,EntityY#(cam)-0.01,EntityZ#(cam)+0.05 number_of_bullets = number_of_bullets + 1 EndIf |
||
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 |
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Weil die Schüsse wahrscheinlich noch nicht bewegt werden.
Mach eine For each Schleife und MoveEntity bullet,0,0,1 das sollte dann Funktionieren. Evtl. fliegen sie in die falsche Richtung, dann musst du die Schüsse vorher noch in die richtige Richtung drehen. Edit: Hab grad gesehen das du ShowEntity bulletsprite machst. Du musst aber nicht das bulletsprite anzeigen lassen sondern die Kopien davon die mit CopyEntity erzeugt wurden und im TypeObjekt gespeichert werden. Also ShowEntity bullet\obj |
||
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Funtzt immer noch nicht!Code: [AUSKLAPPEN] If MouseHit(1) Then
bullet.bullet = New bullet bullet\obj = CopyEntity(bulletsprite,cam) ShowEntity bullet\obj PositionEntity bullet\obj,EntityX#(cam)-0.01,EntityY#(cam)-0.01,EntityZ#(cam)+0.05 number_of_bullets = number_of_bullets + 1 For bullet.bullet Each bullet MoveEntity bullet\obj,0,0,1 Next EndIf |
||
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 |
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kein Wunder, schau mal wo du die For Schleife zum Bewegen der Schüsse drin hast ![]() Die sollte ausserhalb sein, also die Schüsse müssen immer aktualisiert werden ![]() |
||
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Würde ich gerne wenn ich drausen die for-Schleife einbaue Vermisst er das Variabel asigment warum? | ||
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 |
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics3D 1024,768,0,1 SetBuffer BackBuffer() Type bullet Field obj Field destroy Field alpha# End Type Const TYPE_WORLD = 1 Const TYPE_SHOT = 2 Const MOUSE_SENS# = 6.0 mx = GraphicsWidth()/2 my = GraphicsHeight()/2 Collisions TYPE_SHOT,TYPE_WORLD,2,1 cam = CreateCamera() PositionEntity cam,0,3,-8 bulletsprite = CreateSphere() EntityColor bulletsprite,255,255,0 EntityType bulletsprite,TYPE_SHOT ScaleEntity bulletsprite,0.2,0.2,0.2 EntityRadius bulletsprite,0.2 HideEntity bulletsprite cube = CreateCube() EntityColor cube,255,0,0 PositionEntity cube,0,0,15 EntityType cube,TYPE_WORLD Repeat frametime_sec# = (endtime - now) / 1000.0 now = MilliSecs() Cls TurnEntity cam,(MouseYSpeed() * frametime_sec#) * MOUSE_SENS#,(-MouseXSpeed() * frametime_sec#) * MOUSE_SENS#,0 RotateEntity cam,EntityPitch(cam),EntityYaw(cam),0 MoveMouse mx,my If MouseHit(1) bullet.bullet = New bullet bullet\obj = CopyEntity(bulletsprite) ShowEntity bullet\obj PositionEntity bullet\obj,EntityX(cam),EntityY(cam),EntityZ(cam) RotateEntity bullet\obj,EntityPitch(cam),EntityYaw(cam),EntityRoll(cam) MoveEntity bullet\obj,0,0,2.0 bullet\destroy = now + 5000 bullet\alpha# = 1.0 EndIf For bullet.bullet = Each bullet MoveEntity bullet\obj,0,0,25.0 * frametime_sec# If now >= bullet\destroy - 2000 Then bullet\alpha# = bullet\alpha# -0.01 EntityAlpha bullet\obj,bullet\alpha# ElseIf now >= bullet\destroy Then FreeEntity bullet\obj Delete bullet EndIf Next UpdateWorld() RenderWorld() Color 255,255,255 Line mx - 5, my, mx + 5, my Line mx, my -5, mx, my + 5 Flip endtime = MilliSecs() Until KeyHit(1) ClearWorld() Delete Each bullet EndGraphics() End Vielleicht kannst du das brauchen ![]() |
||
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
thx für den Code ich hab jetzt mal meinen angepasst!Aber es kommt immer noch Expecting Vaiable assignment warum?
Code: [AUSKLAPPEN] ;
If MouseHit(1) Then bullet.bullet = New bullet bullet\obj = CopyEntity(bulletsprite,cam) ShowEntity bullet\obj PositionEntity bullet\obj,EntityX(cam),EntityY(cam),EntityZ(cam) RotateEntity bullet\obj,EntityPitch(cam),EntityYaw(cam),EntityRoll(cam) MoveEntity bullet\obj,0,0,2.0 EndIf ; For bullet.bullet Each bullet MoveEntity bullet\obj,0,0,25.0 Next |
||
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 |
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hm, versuch mal bei CopyEntity kein ParentEntity anzugeben, also ohne cam.
Aber ansonsten scheint nichts falsch zu sein. Vermute das Problem ist an einem anderen Ort im Code. |
||
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hat immer noch den gleichen Fehler hier mal der ganze code!
Vielicht findest du ja den Fehler! Code: [AUSKLAPPEN] Graphics3D 800,600,0,1
AppTitle "Rammjäger" HidePointer SetBuffer BackBuffer() Global pivot ;Laden der Texturen und Meshs terrain=LoadTerrain("H:\Grassclip.bmp") text1=LoadTexture("H:\Gras.jpg") metallpyramide=LoadMesh("H:\pyramide.x") Gebaude=LoadMesh("H:\house.x") Burg=LoadMesh("H:\Burg.x") himmel=LoadTexture("H:\himmel2.jpg") Baumstumpf=LoadMesh("H:\Baumstumpf.x") Baumstumpf1=LoadMesh("H:\Baumstumpf.x") Baumstumpf2=LoadMesh("H:\Baumstumpf.x") Baumstumpf3=LoadMesh("H:\Baumstumpf.x") cockpit=LoadImage("H:\rearcockpit1.bmp") Fadenkreutz=LoadImage("H:\Fadenkreutz.bmp") bulletsprite = LoadSprite("H:\bullet.jpg") HideEntity bulletsprite Type bullet Field obj,lifetime End Type ;Objekt richtig drehen ;Erstellen eines Pivot für die Kollision sky=CreateSphere(120) FlipMesh sky ScaleEntity sky,7000,9000,7000 PositionEntity sky,6500,1000,6800 ;Metallpyramide PositionEntity metallpyramide,5000,20,7800 PositionEntity Baumstumpf,Rand(-2000,6000),20,Rand(-1000,9000) PositionEntity Baumstumpf1,Rand(-2000,6000),20,Rand(-1000,9000) PositionEntity Baumstumpf2,Rand(-2000,6000),20,Rand(-1000,9000) PositionEntity Baumstumpf3,4200,20,9000 ; PositionEntity Burg,5000,-5,8000 ;Das Terrain erstellen und Texturieren pivot=CreatePivot() EntityRadius pivot,0.2 EntityTexture terrain,text1,0,0 ScaleEntity terrain,50,60,50 ScaleTexture text1,20,20 ;Spielfigur posizionieren TerrainDetail terrain,8000,True ;Position der Hand ;Position des Hauses PositionMesh Gebaude,9000,-250,-9000 ;Die Textur des Hauses bearbeiten und verwenden EntityTexture sky,himmel RotateMesh Gebaude,180,0,0 ;;;;;;;;;;;;;;;;;;;;;;;;;;------Die Eintsellung der Kamera auf Firstpersonsicht sicht ;; ;; ;Kameravoreinstellungen cam=CreateCamera() PositionEntity cam,5100,2050,8075 ; If MouseHit(1) Then bullet.bullet = New bullet bullet\obj = CopyEntity(bulletsprite) ShowEntity bullet\obj PositionEntity bullet\obj,EntityX(cam),EntityY(cam),EntityZ(cam) RotateEntity bullet\obj,EntityPitch(cam),EntityYaw(cam),EntityRoll(cam) MoveEntity bullet\obj,0,0,2.0 EndIf ; For bullet.bullet Each bullet MoveEntity bullet\obj,0,0,25.0 Next CameraRange cam,1,80000 light=CreateLight() LightRange light,80000 TurnEntity light,45,45,45 EntityParent light,cam ;Einstellungen für die Sicht TurnEntity cam,10,106,0 PositionEntity cam,3007,1025,5845 TurnEntity cam,270,0,270 ;Kollisionsabfrage EntityType terrain,2 EntityType cam,1 EntityType Burg,3 EntityType metallpyramide,4 EntityType sky,5 Collisions 1,2,2,1 Collisions 1,3,2,1 Collisions 1,4,2,1 Collisions 1,5,2,1 EntityOrder sky,1 ;Steuerung des Spieler und der Cam ;;;;;;;;;;;;;;;;;;;;-------Hauptschleife While Not KeyHit(1) ;Mausabfrage RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0 If Not KeyDown(200)=1 Then MoveEntity cam,0,-50,0 If KeyDown(200)=1 Then MoveEntity cam,0,0,20 If KeyDown(203)=1 Then MoveEntity cam,-20,0,0 If KeyDown(205)=1 Then MoveEntity cam,20,0,0 If KeyHit(35)=1 Then SaveBuffer BackBuffer(),"screenshots.bmp" EndIf If KeyDown(1) Then End UpdateWorld RenderWorld MaskImage cockpit,128,128,255 DrawImage Fadenkreutz,370,250 DrawImage cockpit,0,380 Flip Wend ClearWorld End |
||
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 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group