Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 12-12-2007, 14:48   #1 (permalink)
AS3Transformator
 
Benutzerbild von eLem3ntx
 
Registriert seit: Jun 2007
Beiträge: 50
Question Pfeil Flugberrechnung

Hallo liebe Flash'ler
Ich stehe vor folgendem Problem:
Ich habe ein "Pfeil & Bogen" Strichmännchen welcher logischerweise Pfeile auf vorgegebene Koordinaten schießen soll, jedoch weiß ich nicht wie ich die Flugbahn, also so das der Pfeil eine Kurve fliegt und trotzdem an den richtigen Koordinaten ankommt, berechnen soll?!?

Ich hoffe ihr könnt mir Helfen
PS: Zuerst hab ich es einfach so versucht:
PHP-Code:
_parent._x += (hitx _parent._x); 
Was jedoch 1. eine gerade Flugbahn war und 2. ein viel zu schneller Pfeil.

Vielen Dank im Voraus, em3L eLem3ntx
__________________
Lantian Design - Play Defend the Village, watch great Movies and much more
eLem3ntx ist offline   Mit Zitat antworten
Alt 12-12-2007, 15:23   #2 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
Such mal im Internet oder auch hier im Forum nach "schiefer wurf", da findest du Formel, die du vermutlich auch gut für deine Pfeile verwenden kannst, wenn du sie entsprechend auflöst.
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 12-12-2007, 15:26   #3 (permalink)
¿
 
Registriert seit: Sep 2005
Beiträge: 86
Physikalisch nicht korrekt aber optisch ganz passabel gehts mit Sinus:
PHP-Code:
var oArrow MovieClip arrow_mc;
var 
nFrame Number 1;
var 
nDuration Number 25;
var 
nStartX Number oArrow._x;
var 
nStartY Number oArrow._y;
var 
nTargetX Number 400;
var 
nTargetY Number 150;
var 
nHeight Number 100;

this.onEnterFrame = function() : Void
{
    var 
nPercent Number nFrame/nDuration;
    var 
nOffsetY Number Math.sin(Math.PI*nPercent)*nHeight;
    
    
oArrow._x nStartX + (nTargetX-nStartX)*nPercent;
    
oArrow._y nStartY + (nTargetY-nStartY)*nPercent nOffsetY;
    
    if(
nFrame nDuration)
    {
        
nFrame++;
    } else
    {
        
delete this.onEnterFrame
    
}

o-nyx ist offline   Mit Zitat antworten
Alt 12-12-2007, 16:26   #4 (permalink)
AS3Transformator
 
Benutzerbild von eLem3ntx
 
Registriert seit: Jun 2007
Beiträge: 50
Smile

Wow vielen Dank euch beiden, hat sofort 1A funktioniert
Nur wäre es möglich das der Pfeil eine richtige _rotation bekommt? also das er mit der Kurve sich dreht und fliegt?

Danke
__________________
Lantian Design - Play Defend the Village, watch great Movies and much more
eLem3ntx ist offline   Mit Zitat antworten
Alt 12-12-2007, 16:54   #5 (permalink)
¿
 
Registriert seit: Sep 2005
Beiträge: 86
oArrow._rotation = -45 + nPercent*(45*2)

evtl. musst du die 45 noch etwas anpassen
o-nyx ist offline   Mit Zitat antworten
Alt 12-12-2007, 19:09   #6 (permalink)
AS3Transformator
 
Benutzerbild von eLem3ntx
 
Registriert seit: Jun 2007
Beiträge: 50
Ah super viieelen Dank
Funktioniert super^^
__________________
Lantian Design - Play Defend the Village, watch great Movies and much more
eLem3ntx ist offline   Mit Zitat antworten
Alt 28-01-2008, 12:41   #7 (permalink)
AS3Transformator
 
Benutzerbild von eLem3ntx
 
Registriert seit: Jun 2007
Beiträge: 50
Question

So nun wäre ein geeigneter Moment den Thread wieder auszugraben
Und zwar deswegen weil ich es gerne so hätte das bei der Pfeil-Flug-Berechnung es kein Target, sprich Ziel gibt. Also man sollte den Pfeil durch ziehen der Maus abschießen können, also sobald ich z.B. die Stärke 100 hab soll er ziemlich weit fliegen und bei der Stärke 30 nur 1/3 so weit, jedoch sollte die Flugbahn des Pfeils, die Höhe je nach Winkel der Abschuss-Vorrichtung sein. Also man hat eine Kanone mit dem Winkel 30° und der Stärke 60 nun soll der Pfeil aus der Kanone realistisch in dem Winkel fliegen.
Hoffentlich ihr versteht was ich damit meine
Auf jeden Fall vielen Dank im Voraus, ihr habt mir bis jetzt schon super geholfen...
em3L eLem3ntx
__________________
Lantian Design - Play Defend the Village, watch great Movies and much more
eLem3ntx ist offline   Mit Zitat antworten
Alt 03-02-2008, 13:01   #8 (permalink)
Neuer User
 
Benutzerbild von _crypto_
 
Registriert seit: Mar 2006
Beiträge: 1.573
schau dir dafür doch einfach mal die physikalischen formeln an

Code:
vx = v0 * cos( w )
vy = v0 * sin( w ) - g * t

sx = v0 * cos( w ) * t
sy = v0 * sin( w ) * t - 1/2 * g * t²

// zeit bis zum höchsten punkt
t = ( v0 * sin( w ) ) / g

// wurfzeit
t = 2 * ( v0 * sin( w ) ) / g

// wurfweite
sw = ( 2v0² * cos( w ) * sin( w ) ) / g

// wurfhöhe
sh = ( v0² * sin²( w ) ) / 2g
__________________

Currently working on:

- --- ---

-----------------------------------------------------------------
ActionScript 3.0, C++, Java, Delphi
_crypto_ ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 00:42 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele