Bullet läuft nicht mit(jetzt schon!!Erledigt!)
Übersicht

![]() |
the FR3AKBetreff: Bullet läuft nicht mit(jetzt schon!!Erledigt!) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn das Spiel startet,und ich dann schiesse geht alles...aber wenn ich dann loslaufe,läuft zwar mein player aber das Bullet hängt immer noch an der Startposition ![]() Der code: Code: [AUSKLAPPEN] ... Type shoot Field X,y,z Field Model End Type Global p.shoot bullet1=LoadSprite ( "data/gun/bullet.bmp" ) ScaleSprite Bullet1,10,10 ... ;Hauptschleife... ... UpdateShoot() ... If MouseHit(1)=1 Then p.shoot = New shoot p\x = EntityX(cam)+1.5 p\z = EntityY(cam)+4.0 p\y = EntityZ(cam)-1.5 p\Model = CopyEntity(bullet1) RotateEntity p\Model,EntityPitch(gun,1),EntityYaw(gun,1),EntityRoll(gun,1),1 EndIf ... ;Ende der Schleife! Function UpdateShoot() For p.shoot = Each shoot p\z = p\z + 1 MoveEntity p\Model,p\x,p\y,p\z If EntityCollided(p\Model,spider) Then Delete p If EntityCollided(p\Model,terrain) Then Delete p If EntityCollided(p\Model,gen1) Then Delete p Next End Function Hoffentlich weiß jemand rat ![]() |
||
- Zuletzt bearbeitet von the FR3AK am Do, Sep 14, 2006 14:59, insgesamt einmal bearbeitet
![]() |
Christoph |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du musst dich entscheiden!
Entweder ist p\x, p\y, p\z die Position oder der Verschiebungswert, sonst klappt es nicht. |
||
![]() |
the FR3AK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie meinst du das?? ![]() |
||
![]() |
Christoph |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schau:
Code: [AUSKLAPPEN] p\x = EntityX(cam)+1.5
p\z = EntityY(cam)+4.0 p\y = EntityZ(cam)-1.5 Hier hast du p\x,p\y,p\z als eine Position festgelegt. Code: [AUSKLAPPEN] MoveEntity p\Model,p\x,p\y,p\z
Hier aber verschiebst du deinen Schuss um die Position. Das geht nicht. Edit: Außerdem fällt mir grad auf, dass du y und z vertauscht hast: Code: [AUSKLAPPEN] p\x = EntityX(cam)+1.5
p\y = EntityY(cam)+4.0 p\z = EntityZ(cam)-1.5 ![]() |
||
![]() |
the FR3AK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Toll jetzt geht es nich mehr ![]() |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also
Bei MoveEntity musst du die Bewegung pro Frame angeben. Diese ist Bewegung pro Sekunde / FPS# Wenn du also willst, das es sich 1 Einheit vorwärts bewegt wäre das MoveEntity Bullet, 0, 0, 1.0/FPS (wenn man davon ausgeht, das die Z achse nach vorne ist, wie es zb bei der Camera ist) Das was du machst bringt nichts, dein Schuss teleportiert sich ins nichts binnen 2 Frames. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
the FR3AK |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() ![]() Da hast du ein Bild von meinem Fehler! ![]() Da wo die Kugel(Bullet) ist,ist meine startposition!Wenn ich aber laufe bleibt die Kugel an der Startposition...da hat auch das MoveEntity p\model,p\x,p\y,p\z+1.0/FPS# geholfen!Es hat zwar geschossen aber... |
||
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Field X,y,z -->Code: [AUSKLAPPEN] Field X#,y#,z#
|
||
between angels and insects |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du verstehst nicht: MOVEENTITY ist relativ zur Position, da darf KEIN P\X etc mehr drin sein. Nur das was ich dir oben hingeschriebne habe, 0,0, 1.0/FPS
Am besten versuchst du erst einmal die gundlegenden Befehle zu erlernen bevor du was zu schiessen versuchst, da du scheinbar noch nicht einmal den Unterschied zwischen PositionEntity, MoveEntity und TranslateEntity verstanden hast. Da stellt sich mir ernsthaft die Frage ob eigentlich die Bewegung des Bullets falsch ist (mit meinem Code oben) oder ob deine Bewegung des Spielers komplett falsch ist, was man eigentlich aufgrund der elementaren Fehler beim Bullet annehmen müsste. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Christoph |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du machst das grundlegent falsch:
Wenn die Maustaste gedrückt wird musst du das Bullet (am besten mit ql:positionentity) auf der Stelle des Spielers positionieren. Dann musst du in die Funktion Updateshoot() reinschreiben: Code: [AUSKLAPPEN] moveentity p\Model,0,0,1
|
||
![]() |
the FR3AK |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() ![]() Jetzt geht es!Musste zwar noch n bissle herumprobieren... THX Christoph^^ THX Den anderen wo geholfen habn ![]() Aber wenn ich da bei PositionEntity noch +1.5 oder so dahinter mach,erscheint das bullet zwar an der position aber wenn ich mich drehe und dann wieder schieße kommt es an einem anderen Punkt heraus...ich weiß auch warum aber ich kanns nicht erklären ![]() |
||
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
the FR3AK hat Folgendes geschrieben: ...Aber wenn ich da bei PositionEntity noch +1.5 oder so dahinter mach,erscheint das bullet zwar an der position aber wenn ich mich drehe und dann wieder schieße kommt es an einem anderen Punkt heraus...
Wenn du direkt bei Positionentity ein Objekt umpositionieren möchtest, dann muss auch die drehposition des Spielers bzw. kamera berücksichtigt werden. |
||
![]() |
the FR3AK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie soll ich dass dann beheben?Mit z.B. einem PIVOT oder so an der Waffenendung? ![]() |
||
![]() |
Christoph |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wieso, die Idee ist doch gar nicht schlecht:
Einfach ein Pivot an das Ende der Waffe, mit parent befestigen ![]() Dann Code: [AUSKLAPPEN] Positionsentity p\Model,entityx(punkt),entityy(punkt),entityz(punkt)
rotateentity p\Model,0,,entityyaw(Player),0 |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Entweder das oder du berechnest die Position mit TFormPoint | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
the FR3AK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei dem Pivot hab ich entweder nen Fehler gemacht oder es geht nicht...da passiert das gleiche im Versuchs mal mit TFormPoint oder so ![]() Ich find aber mit der Suche nix gescheites wo mir das erklärt... |
||
![]() |
Christoph |
![]() Antworten mit Zitat ![]() |
---|---|---|
ql:TFormpoint | ||
![]() |
the FR3AK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie soll ich das in meinem Game Benutzen? | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Indem du den Punkt der in der lokalen Transformation der Waffe vor ihr liegt in Weltkoordinaten transformierst.
Das ist das gleiche was der Pivot tut. Sprich der ist einfacher für deinen Bedarf, du musst ihn nur richtig positionieren und vor allem als Child von deiner Waffe erzeugen. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
the FR3AK |
![]() Antworten mit Zitat ![]() |
---|---|---|
OK hat sich erledigt!THX @ all helpers^^ | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group