Probleme mit dem Schuss mit Types?
Übersicht

bruce85Betreff: Probleme mit dem Schuss mit Types? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hallo leute,
ich bin grad dabei ein Weltraum Shooter zu proggen und wenn ich schieße und Das Raumschiff lenke dann lenkt die Rakete mit, wieso? hier mal den code für die schüsse: Code: [AUSKLAPPEN] Type schuss
Field schuss_x Field schuss_y Field schuss_speed End Type Repeat Cls If KeyHit(57) Then s.schuss = New schuss s\schuss_x = ship_x s\schuss_y = ship_y s\schuss_speed = 4 EndIf For s.schuss = Each schuss Rect s\schuss_x,s\schuss_y,16,4,1 s\schuss_x = s\schuss_x + Cos(winkel)*s\schuss_speed s\schuss_y = s\schuss_y + Sin(winkel)*s\schuss_speed Next Flip Until KeyHit(1) End ich hab jetzt net mein ganze Quelltext koppiert, nur halt für die schüsse. woran kann das jetzt liegen weil die Rackete mit lenkt? danke euch schonmal für die hilfe ![]() Gruss Andreas |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Verwendest Du die Variable winkel für Dein Raumschiff? Damit berechnest Du nämlich auch die Schüsse:
Code: [AUSKLAPPEN] s\schuss_x = s\schuss_x + Cos(winkel)*s\schuss_speed
s\schuss_y = s\schuss_y + Sin(winkel)*s\schuss_speed Was Du also brauchst ist ein Field winkel für die Schüsse welches beim erstellen eines Schusses mit dem Winkel des Raumschiffs belegt wird und dann natürlich mit diesem für jede Rakete individuellen Winkel selbige auch berechnet wird ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
Cardonic |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
Mir scheint, dass die Schüsse kein eigenes Feld für den Winkel haben; ich denke, dass sie dann auf die Variabel "winkel" auf den Winkel des Schiffs zugreiffen, und immer mit diesem mitlenken. Du müsstest wahrscheinlich einfach den Winkel für jeden einzelnen Schuss speichern. mfg Cardonic Edit: Mist, ich bin einfach zu lahm ![]() |
||
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet. |
bruce85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke euch
das habe ich auch gedacht mit winkel, aba wie mache ich das jetzt? weil ich habe ein Dim Feld für das Raumschiff das 360 Bilder gezeichnet werden wegen die drehung, wie verbinde ich das mit dem schuss? Gruss Andreas |
||
![]() |
sirokuhl |
![]() Antworten mit Zitat ![]() |
---|---|---|
einfach bei der schusserstellung:
s\winkel = winkel (s\winkel muss natürlich erst definiert werden) und dann beim fliegen lassen statt winkel, s\winkel benutzen |
||
bruce85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
sry ich habs hinbekommen, habs so gemacht:
Code: [AUSKLAPPEN] If KeyHit(57) Then
s.schuss = New schuss s\schuss_x = ship_x s\schuss_y = ship_y s\schuss_speed = 4 s\schuss_winkel = winkel EndIf jetzt gehts, ich danke euch für die tips ![]() edit: danke dir sirokuhl, hab grad nachgedacht und bin dann selbst drauf gekommen ![]() Gruss Andreas |
||
bruce85 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hallo nochmal,
also wenn ich jetzt schiesse und ich ein asteroid treffe, dann möchte ich das dieser Asteroid gelöscht wird und der schuss soll gleich mit gelöscht werden, habs so probiert: Code: [AUSKLAPPEN] For s.schuss = Each schuss
For a.asteroid = Each asteroid If ImagesCollide(schuss,s\schuss_x,s\schuss_y,0,asteroid,a\asteroid_x,a\asteroid_y,a\asteroid_frames) Then Delete a.asteroid Delete s.schuss EndIf Next Next aber dann kommt ein fehler, Object does not exist, wieso? des is ja so richtig wie ich das gemacht habe, oder danke euch schonmal ![]() Gruss Andreas |
||
![]() |
sirokuhl |
![]() Antworten mit Zitat ![]() |
---|---|---|
das liegt daran, dass du erst a.asteroid löschst aber im gleichen durchlauf noch s.schuss
das geht aber nicht weil ja a.asteroid weg ist und deswegen auch dessen for-schleife nicht mehr funktioniert also musst du a.asteroid ganz am ende der for-schleife löschen |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group