"Fortgeschrittene" Schussfunktion bei Schiffseite
Übersicht

AFROBetreff: "Fortgeschrittene" Schussfunktion bei Schiffseite |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi leutz!
Weil mir der neue Fluch der Karibik so gut gefallen hab hab ich mir gedacht setz dich doch mal an pc und prog mal wieder n bisschen und zwar ne Seeschlacht. Bis jetz is alles wie gehabt gelaufen... Galeone in Milkshape3d erstellt, Skybox, Meer, gegnerische Galeone, SCHIESSEN. Beim Schiessen hab ich ein Problem. Bei einem Schiff wie z.B. einer Galeone wird nur mit der Seite geschossen (da sind ja auch die kanonen^^) bei mir dreht sich der schuss aber mit, sodass wenn ich das schiff um ca. 90 grad drehe auf einmal mein schiff mit dem Bug (Vorderseite) ballert??? Hab schon ziemlich viel ausprobiert, bin aber nicht weitergekommen. Ich poste mal den code: For n = 0 To Player_1_Kanonen_1 k.Kugel = New Kugel k\Mesh = CopyEntity (Kugel) RotateEntity k\Mesh,EntityPitch(Camera),EntityYaw(Camera),EntityRoll(Camera) If EntityX (Galeone) =< EntityX (Galeone2) Then k\Richtung = 1 k\x = EntityX (Galeone) k\y = EntityY (Galeone) k\z = EntityZ (Galeone) + (n*10) PositionEntity k\Mesh, k\x, k\y, k\z ElseIf EntityX (Galeone) > EntityX (Galeone2) Then k\Richtung = 2 k\x = EntityX (Galeone) k\y = EntityY (Galeone) k\z = EntityZ (Galeone) + (n*10) PositionEntity k\Mesh, k\x, k\y, k\z EndIf Next ;--- blablabla--- For k.Kugel = Each kugel If k\Richtung = 1 Then MoveEntity K\Mesh, 0, 0,-5 ElseIf k\Richtung = 2 Then MoveEntity K\Mesh, 0, 0, 5 EndIf Next Hoffentlich kann mir jemand von euch helfen! ~EDIT~ ist klar, dass das jetz nich die komplette schussfunktion ist, z.B. fehlt der Übersicht halber der Counter und das KeyHit (57) usw. |
||
!!!BF HARDCORE KILLER!!!
!!!ACHTUNG KILLERSPIELZOCKER!!! |
![]() |
darth |
![]() Antworten mit Zitat ![]() |
---|---|---|
machs mit einem "generellen schussvektor"... den man dann um eine drehmatrize (zusammen mit dem schiff) drehen kann. also in etwa so:
Code: [AUSKLAPPEN] ;annahme normaler schuss wäre auf x-achse (sprich: schiff längsachse auf z)
vx#=1 ;oder -1, je nachdem ob links oder rechts vy#=0 vz#=0 while not keyhit(1) ;ganzer krempel rein if keydown(drehen) then turnentity schiff,0,1,0 ;das 1 hier muss dem unteren winkel entsprechen vx#=cos(1)*stärke# vy#=0 vz#=sin(1)*stärke# ;der vektor ist normalisiert (also betrag 1)... multiplizieren mit stärke gibt ihm eine neue länge endif wend : end natürlich muss dieser vektor auf die kugeln angewandt werden und kann nicht (obwohl doch) einfach so übernommen werden. also so: Code: [AUSKLAPPEN] for k.kugel=each kugel ;oder etwas in dieser art...
k\x=k\x+vx k\y=k\y+vy ;was gleichbleibt... schwerkraft oder sowas rein :P k\z=k\z+vz next hoffe es hilft... |
||
Diese Signatur ist leer. |
AFRO |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sry wenn das jetz nooby klingt, aber des check ich ned ganz... kannste das mal in meinen code einsetzen, ich weiß nich genau wie du das meinst.
PS: THX für die schnelle antwort |
||
!!!BF HARDCORE KILLER!!!
!!!ACHTUNG KILLERSPIELZOCKER!!! |
![]() |
darth |
![]() Antworten mit Zitat ![]() |
---|---|---|
tssss... :/
na schön: Code: [AUSKLAPPEN] For n = 0 To Player_1_Kanonen_1 k.Kugel = New Kugel k\Mesh = CopyEntity (Kugel) ;rotate vergesse, kugel ist ja rund (hoffentlich :O) k\x=k\x+n*10 ;falls ich das richtig verstanden hab... naja, platzier sie einfach bei den kanonen PositionEntity k\Mesh, k\x, k\y, k\z Next ;--- blablabla--- For k.Kugel = Each kugel TranslateEntity K\Mesh, cos(entityyaw(schiff)), 0,sin(entityyaw(schiff)) ;k\x=k\x+cos() : k\z=k\z+sin() Next so... ich weiss noch nicht genau wie du die kugel platziert haben möchtest, aber das solltest du hinkriegen ![]() |
||
Diese Signatur ist leer. |
AFRO |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
THX
werd ich morgen mal ausprobiern (hab n ganzen tag zeit, dazu kommt soft-air-battle-club organisiern, clan admin helfen...) Schonmal THX bis zum Update von mir. PS: Zu dem Tssss. Was soll ich machen wenn ichs ned check, soll ich einfach darauf belassen lassen, und einfach sagen dass ichs eingebaut hab? |
||
!!!BF HARDCORE KILLER!!!
!!!ACHTUNG KILLERSPIELZOCKER!!! |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nö, versuchen zu verstehen was er macht und wie du es nutzen kannst. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
AFRO |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hab versucht es zu verstehen, sonst hätte ich nicht sagen können dass ichs nicht kapier. Und ich habs immer noch nicht kapiert ![]() ~EDIT~ OMG... Ich bin dumm... Jetz hab ich n Problem mit den collisions bei dem ich nich weiterkomm... bei nem update sag ich mal ob ichs gschafft hab. |
||
!!!BF HARDCORE KILLER!!!
!!!ACHTUNG KILLERSPIELZOCKER!!! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group