Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-06-2004, 19:25   #1 (permalink)
this.onEnterFame
 
Benutzerbild von RedSaint
 
Registriert seit: Feb 2002
Ort: Jetzte: Stuttgart
Beiträge: 1.666
AS - halbkreisbewegung ?

mh ... wie bekomme ich per script eine bewegung hin wie diese hier: ?

-> das hab ich jetzt getweent ... ich will aber die anfangs und endepunkte sowie die distanz der anfangs und endpunkte der ganzen sache nachher per random oder eingabe verändern können und immer ne fließende, halbkreisförmige bewegung bekommen ...

abba wie ... ? ein scriptansatz wäre klasse ...



... oder mach ichs mir zu schwer und kann ein ergebnis wie oben auch einfach per "mittelpunkt versatz" des mc und _rotation bekommen ... obwohl später allemöglichen parameter der animation veränderbar sein sollen?



_RED_
__________________
_may the force be with you_
.................................................. .........
on Fire 2008
.................................................. .........

Easy Crime available here
.................................................. .........

_RED_ + Flashforum = Big Love
.................................................. .........

A.K.A: ACHIM 0815

Geändert von RedSaint (07-06-2004 um 19:27 Uhr)
RedSaint ist offline   Mit Zitat antworten
Alt 07-06-2004, 19:58   #2 (permalink)
meistens harmlos
 
Benutzerbild von rena
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 17.643
Als Ansatz ...

Eine Kreisbewegung kannst z.B. so machen
PHP-Code:
punkt.onEnterFrame = function() {
    
this._x 200+100*Math.cos((+= 2)*Math.PI/180);
    
this._y 200+100*Math.sin((+= 2)*Math.PI/180);
    
//position=mittelpunkt+(oder -)radius*sinusbzwcosinusvon(winkel*pi/180)
}; 
Falls der Radius aber nicht verändert werden soll geht's genau so über die Rotation mit versetztem Mittelpunkt.

Gruß
Rena

Edit: Grad noch dran gedacht ... bei MX2004 nicht vergessen, i vorher für die Instanz "punkt" zu initialisieren, z.B. punkt.i=0;
__________________
www.rena-hermann.de

The angels have the phone box

Geändert von rena (07-06-2004 um 20:08 Uhr)
rena ist offline   Mit Zitat antworten
Alt 07-06-2004, 20:57   #3 (permalink)
Neuer User
 
Registriert seit: Jun 2001
Ort: Stuttgart
Beiträge: 6.415
math.atan2 hättest nicht vergessen sollen, schließlich sollte er doch den winkel zwischen punkt und mittelpunkt kennen.
is so gesehen das wichtigste
zum ausprobieren kannste mal 2 punkte erstellen und
diese auf der bühne verteilen
sollten die namen pnt1 und pnt2 haben in root fügste mal folgendes ein
im grund wird nichts anderes gemacht
als
-radius bestimmt
-mittelpunkt(M) der kreislinie die die 2 punkte enthalten soll bestimmen
-den anfangswinkel von einem punkt zu M bestimmt, alles in gradmaß da man
die schleife später auch so rechnen läßt, außerdem einfacher vorzustellen
-von dort aus um 180° "weitergerechnet"(die forschleife)-man landet bei dem zweiten punkt
-du hast deine beliebige halbkreisbewegung
PHP-Code:
//abstand der punkte daraus radius
abstand=function(p1,p2){
    return 
Math.sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p2.y-p1.y)*(p2.y-p1.y))
}
//anhand von winkel, radius und 
//mittelpunkt koordinaten von kreispunkt berechnen
bestimmePaufKreis=function(w,r,m){
    var 
p={}
    
p.x=Math.cos(w*Math.PI/180)*r+m.x
    p
.y=Math.sin(w*Math.PI/180)*r+m.y
    
return p
}
//anfangswinkel von einem der 2 punkte zu m
//je nachdem welchen du wählst erhälste ne
//kreisbahn auf der einen oder anderen seite
//der gedachten verbindungslinie der 2 punkte
winkelPzuM=function(m,p){
    return 
Math.atan2(p.y-m.y,p.x-m.x)*180/Math.PI
}
p1={}
p1.x=pnt1._x
p1
.y=pnt1._y
p2
={}
p2.x=pnt2._x
p2
.y=pnt2._y
d
=abstand(p1,p2)
r=d/2
m
={}
m.x=(p1.x+p2.x)/2
m
.y=(p1.y+p2.y)/2
//winkel von mittelpunkt zu punkt1
swinkel=winkelPzuM(m,p1)
for(var 
i=0;i<180;i++){
//in p.x und p.y liegen deine werte der einzelnen punkte, kannste nun anch 
//belieben weiterverwenden, zB in nen array pushen und dieses punkt für 
//punkt abarbeiten und nen kreis danach bewegen....
    
var p=bestimmePaufKreis(swinkel+i,r,m)
    
lineStyle(0,0xFF0000)
    
moveTo(p.x,p.y)
    
lineTo(p.x+1,p.y+1)



grüße
deluxe

Geändert von Deluxe (07-06-2004 um 20:58 Uhr)
Deluxe ist offline   Mit Zitat antworten
Alt 08-06-2004, 10:13   #4 (permalink)
this.onEnterFame
 
Benutzerbild von RedSaint
 
Registriert seit: Feb 2002
Ort: Jetzte: Stuttgart
Beiträge: 1.666
uii --- damit wird ich jetzt erstmal ein bischen experimentieren ... (auf den ersten blick peilen tu ich dat nämlich nicht )




danke erstmal



_RED_
__________________
_may the force be with you_
.................................................. .........
on Fire 2008
.................................................. .........

Easy Crime available here
.................................................. .........

_RED_ + Flashforum = Big Love
.................................................. .........

A.K.A: ACHIM 0815
RedSaint 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 14:57 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele