First Person Shoter Frage
- kob
- Beiträge: 116
- Registriert: 01.01.2008 02:02
- Computerausstattung: 2x 2.4 GHz Amd Cpu | Geforce N9600GT OC |2.5GB Ram |Windows 7 Ultimate
- Wohnort: Fulda
First Person Shoter Frage
Hallo ich möchte einen FPS Schreiben bin auch schon weit , nur bei der entscheidenen frage gibt es ein problem . ich habe mir im internet ein beispiel angesehen , das erleutern soll , wie man eine kugel in die richtung "fliegen" lassenkann , in die die kammera greade schaut , problem bei mir funktionirt das nicht hat jemand eine antwort für micht ? ober sogar ein paar proceduren ? das währe nett Thanks
Wenn sie weich werden bringt Pandora sie um und scheisst sie aus bevor sie irgend etwas merken.
Zeig uns das Beispiel doch mal und erkläre uns, warum das bei Dir nicht funktioniert bzw. wie das bei Dir dann abläuft.


ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
problem bei mir funktionirt das nicht hat jemand eine antwort für micht ?

Windows 10 Pro, 64-Bit / Outtakes | Derek
- kob
- Beiträge: 116
- Registriert: 01.01.2008 02:02
- Computerausstattung: 2x 2.4 GHz Amd Cpu | Geforce N9600GT OC |2.5GB Ram |Windows 7 Ultimate
- Wohnort: Fulda
Ok
Ich kann ja mal die proceduren rinstellen , sind aber etwas groß und undurchsichtig , ist neues land für mich sowas , nicht 3D algemein , nur das mir der kamera also hier die proceduren :
und in der Main :
Ja ich weis . das mit AndY_ ist meine engine heisst so , danke für die schnelle hilfe weiter so .
Code: Alles auswählen
Structure Shot
ID.l
EntityID.l
X.f
Y.f
Z.f
MoveX.f
MoveY.f
MoveZ.f
Speed.f
Damage.l
EndStructure
Global PiOver180 = (ATan(1)*4)/180
Global NewList Shot.Shot()
Procedure AndY_AddShot(ID,Entity,x,y,z,MoveX.f,MoveY.f,MoveZ.f,Speed)
AddElement(Shot())
Shot()\ID = ID
Shot()\EntityID = Entity
Shot()\X = X
Shot()\Y = Y
Shot()\Z = Z
Shot()\MoveX = MoveX
Shot()\MoveY = MoveY
Shot()\MoveZ = MoveZ
Shot()\Speed = Speed
EndProcedure
Procedure AndY_ExamineShot()
If CountList(Shot()) => 1
ForEach Shot()
Shot()\X + ( Shot()\MoveX * 3 )
Shot()\Y + ( Shot()\MoveY * 3 )
Shot()\Z + ( Shot()\MoveZ * 3 )
EntityLocate(Shot()\EntityID,Shot()\X,Shot()\Y,Shot()\Z)
Next
EndIf
EndProcedure
Procedure AndY_DeleteShot(ID)
If CountList(Shot()) => 1
ForEach Shot()
If Shot()\ID = ID
DeleteElement(Shot())
EndIf
Next
EndIf
EndProcedure
Code: Alles auswählen
InitAndYEngine()
AndY_Con_Init()
CreateCamera(1,0,0,100,100)
CameraLocate(1,1000,0,0)
CameraLookAt(1,0,0,0)
Repeat
ClearScreen(#Black)
ExamineMouse()
ExamineKeyboard()
AndY_ExamineJump()
AndY_ExamineShot()
If KeyboardReleased(#PB_Key_Add)
AndY_SetHUDSprite(#Sprite_HUD_ScopeM4A1)
ElseIf KeyboardReleased(#PB_Key_Subtract)
AndY_SetHUDSprite(#Sprite_HUD_ScopeNorm)
EndIf
If KeyboardPushed(#PB_Key_W)
CameraMoveZ = -#CameraSpeed
ElseIf KeyboardPushed(#PB_Key_S)
CameraMoveZ = #CameraSpeed
Else
CameraMoveZ = 0
EndIf
If KeyboardPushed(#PB_Key_A)
CameraMoveX = -#CameraSpeed
ElseIf KeyboardPushed(#PB_Key_D)
CameraMoveX = #CameraSpeed
Else
CameraMoveX = 0
EndIf
If KeyboardPushed(#PB_Key_LeftControl)
PlayerHeight = 150
Else
PlayerHeight = 270
EndIf
If KeyboardReleased(#PB_Key_Space)
AndY_Jump(230,10)
EndIf
If MouseButton(#PB_MouseButton_Left) = 1
BewegX.f = -Sin(CamrotY*piover180)
BewegY.f = Sin(CamrotX*piover180)
BewegZ.f = -Cos(CamrotY*piover180)
AndY_Con_DebugText(Str(BewegX))
AndY_Con_DebugText(Str(BewegY))
AndY_Con_DebugText(Str(BewegZ))
AndY_AddShot(1,#SR71_Shell,CameraX(1),CameraY(1),CameraZ(1),BewegX.f,BewegY.f,BewegZ.f,2)
EndIf
MouseX = -MouseDeltaX()/10
MouseY = -MouseDeltaY()/10
camrotx + Mousey
camroty + Mousex
If camrotx > 360 : camrotx - 360 : EndIf
If camroty > 360 : camroty - 360 : EndIf
If camrotx < 0 : camrotx + 360 : EndIf
If camroty < 0 : camroty + 360 : EndIf
CameraLocate(1,CameraX(1),PlayerY+PlayerHeight,CameraZ(1))
MoveCamera(1,CameraMoveX,0,CameraMoveZ)
RotateCamera(1,MouseX,MouseY,RollZ)
RenderWorld()
AndY_DrawHUD()
AndY_Con_DrawBack()
StartDrawing(ScreenOutput())
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(10,10,Str(Engine3DFrameRate(#PB_Engine3D_Current)),RGB(255,255,255))
DrawText(10,25,Str(CountRenderedTriangles()),RGB(255,255,255))
DrawText(10,50,Str(camrotx),#White)
DrawText(10,75,Str(camroty),#White)
AndY_Con_DrawConsole()
StopDrawing()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
End
Wenn sie weich werden bringt Pandora sie um und scheisst sie aus bevor sie irgend etwas merken.
- Fluid Byte
- Beiträge: 3110
- Registriert: 27.09.2006 22:06
- Wohnort: Berlin, Mitte
Hast du auch etwas was ausführbar ist? Du solltest versuchen das Problem auf den Kern zu reduzieren.
Windows 10 Pro, 64-Bit / Outtakes | Derek
- kob
- Beiträge: 116
- Registriert: 01.01.2008 02:02
- Computerausstattung: 2x 2.4 GHz Amd Cpu | Geforce N9600GT OC |2.5GB Ram |Windows 7 Ultimate
- Wohnort: Fulda
Klar
Klar habe ich was ausfürbares , das sind nur 35MB , mit den sorces , daten , texturen und so , kann ich ja man irgendwie hochladen . Lade es bei rapideshare hoch , send dan den link , bitte die daten vertraulich behandel , und nicht verändern , sind auserdem ein paar "geklaute"
meshes drin , ein bin ich greade am modeln .

Wenn sie weich werden bringt Pandora sie um und scheisst sie aus bevor sie irgend etwas merken.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
also ganz grundsätzlich musst du einen 3D-Vektor berechnen, in dessen Richtung die Cam zeigt.
dieser Vektor auf eine Grundlänge reduziert ist dann der bewegungsvektor für deine Geschosse.
ein problem was ich bei dir sehe ist, dass du eine gewisse camrotx/y berechnest,
aber die camera nach MouseX/Y rotierst.
aber ganz grundsätzlich ist es wirklich hilfreich, wenn du einen ausführbaren code postest.
das bedeutet nicht, dass du dein ganzes projekt posten sollst,
sondern nur ein bisschen extra-code, der demonstriert wo das problem liegt.
und natürlich auch eine ausführliche erklärung, also mehr als drei sätze.
die 35MB werde ich nicht runterladen, um mich durch tonnen fremden code zu kämpfen.
investiere doch bitte etwas zeit und schreibe ein beispiel, das das problem zeigt.
sorry, aber wenn man ein komplexes problem hat, muss man sich
nunmal etwas mühe geben das darzulegen, wenn man hilfe braucht.
dieser Vektor auf eine Grundlänge reduziert ist dann der bewegungsvektor für deine Geschosse.
ein problem was ich bei dir sehe ist, dass du eine gewisse camrotx/y berechnest,
aber die camera nach MouseX/Y rotierst.
aber ganz grundsätzlich ist es wirklich hilfreich, wenn du einen ausführbaren code postest.
das bedeutet nicht, dass du dein ganzes projekt posten sollst,
sondern nur ein bisschen extra-code, der demonstriert wo das problem liegt.
und natürlich auch eine ausführliche erklärung, also mehr als drei sätze.
die 35MB werde ich nicht runterladen, um mich durch tonnen fremden code zu kämpfen.
investiere doch bitte etwas zeit und schreibe ein beispiel, das das problem zeigt.
sorry, aber wenn man ein komplexes problem hat, muss man sich
nunmal etwas mühe geben das darzulegen, wenn man hilfe braucht.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- kob
- Beiträge: 116
- Registriert: 01.01.2008 02:02
- Computerausstattung: 2x 2.4 GHz Amd Cpu | Geforce N9600GT OC |2.5GB Ram |Windows 7 Ultimate
- Wohnort: Fulda
Is Oben
Hier ist der link :
http://rapidshare.de/files/40077622/SHOTER.zip.html
bitte vertraulich behandel , und bitte beeilt euch danke !!!
http://rapidshare.de/files/40077622/SHOTER.zip.html
bitte vertraulich behandel , und bitte beeilt euch danke !!!

Wenn sie weich werden bringt Pandora sie um und scheisst sie aus bevor sie irgend etwas merken.
- kob
- Beiträge: 116
- Registriert: 01.01.2008 02:02
- Computerausstattung: 2x 2.4 GHz Amd Cpu | Geforce N9600GT OC |2.5GB Ram |Windows 7 Ultimate
- Wohnort: Fulda
Ok'e werde ich mal machen
danke für die antwort , habe sie leiber erst gelesen als ich das archiv schon hochgeladen hatte , werde jetzt ein beispiel schreiben , lasse den link aber aktiv
Wenn sie weich werden bringt Pandora sie um und scheisst sie aus bevor sie irgend etwas merken.