| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Feb 2005
Beiträge: 142
|
hallo zusammen, eine frage:-) ich möchte ein rechteck an einer schnur hängend im wind baumeln lassen:-) hierzu habe ich schon mal angefangen mit script eine linie zeichnen zu lassen, die dann der x-position des quadrates ständig folgt. wie schaffe ich es nun, dass das quadrat hin und herpendelt im wind. hier mein bisheriges script (ist noch nicht berücksichtigt, dass natürlich das quadrat ab einer bestimmten positione wieder in die entgegengesetzte richtung pendeln muss). weiterhin fehlt noch der effekt, dass es zufallsmässig nicht nur links rechts, sondern auch oben unten bewegt wird. und zuguterletzt muss natürlich die schnur, an der das quadrat hängt geboben erscheinen, und nicht gerade, so wie momentan. habe das mit curveTo versucht, aber es haut noch nicht hin. Code: dicke = 0.5;
posX1 = 100;
posY1 = 0;
posX2 = quadrat._x;
posY2 = quadrat._y;;
// Gum-Faktor
gummi = 0.1;
faktor = 1-gummi;
cx = tx = (posX2+posX1)/2;
cy = ty = (posY2+posY1)/2;
vx = vy = 0;
function bewegQuadrat() {
this.onEnterFrame = function() {
_root.quadrat._x += 1;
_root.posX2 += 1;
clear();
lineStyle(dicke,0x000000,100);
moveTo(_root.posX1,_root.posY1);
_root.vx = (_root.tx-_root.cx)*_root.gummi +
_root.vx*_root.faktor;
_root.vy = (_root.ty-_root.cy)*_root.gummi +
_root.vy*_root.faktor;
curveTo(_root.posX1,_root.posY1,_root.posX2,_root.posY2);
trace(_root.posX2);
}
}
bewegQuadrat(); vielen dank floydmann Geändert von floydmann (25-11-2005 um 15:04 Uhr) |
| | |
| | #2 (permalink) |
| Linksaußen Registriert seit: Jun 2003 Ort: Essen
Beiträge: 552
|
Ein Pendel basiert auf einer Kreisbewegung. --> benutze Math.sin und Math.cos Allerdings wirds dann ein echtes Pendel (wie in einer Standuhr) Wenn Du wirklich Wind imitieren willst, müssen irgendwelche Zufälligkeiten rein. ...das könnte recht schwierig werden...aber nicht unbedingt, Du musst einfach viel experimentieren, vielleicht findest Du dann eine ganz simple Formel. hier hast Du mal ein Pendel
__________________ Der Ball ist rund |
| | |
| | #3 (permalink) |
| Neuer User Registriert seit: Feb 2005
Beiträge: 142
| genau beim pendel...
...bin ich auch gelandet. vielen dank für deine hilfe. also das pendel an sich würde mich gar nicht so stören (da kann man ja auch nochmal mit einem random ran:-)) nur momentan ist ja die linie direkt im mc. diese wollte ich zeichnen lassen und dann etwas biegen lassen, je nach richtung, wo sich der pendel befindet. was mich interessieren würde. wie schaffe ich es, dass eine linie gezeichnet wird, deren position oben gleich bleibt und nur das ende der linie (das am quadrat ist) dem quadrat folgt und sich nicht nur gerade darstellt, sondern "biegt". weiterhin eine frage: wenn ich diese windbewegung dann auf mehrere quadrate anwenden will, ist es da der beste weg alles direkt auf den mc mit onEnterFrame zu schreiben? ich dachte immer es sei schlauer das onEnterFrame direkt in die zeitleiste zu schreiben, da ich da dann von überall aus darauf zugreifen kann. wie gesagt für hilfe wäre ich sehr dankbar. denn ein quadrat im wind, dass an einer starren schnur hängt sieht doch etwas zu komisch aus:-) irgendwie blicke ich das mit dem curveTo() trotz flashhilfe nicht so ganz:-( danke floydmann |
| | |
| | #4 (permalink) |
| Neuer User Registriert seit: Feb 2005
Beiträge: 142
| wie schaffe ich es...
...dass die linie sich zeichnet und dann deren endpunkt am quadrat der bewegung des quadrates folgt? muss man hierfür die linie üner createEmtpyMovieClip zeichnen? also so etwa? Code: _root.createEmptyMovieClip ("quadrat", 1);
with ( _root.quadrat )
{
lineStyle( 1, 0x000000, 100 );
moveTo(100,_root.quadrat._y);
//curveTo(_root.posX1,_root.posY1,_root.posX2,_root.posY2);
} Code: onClipEvent (load) {
var winkel = 30;
var t = winkel;
var speed = 5;
// Deg in Rad
function DegToRad(angle) {
var radian = angle*Math.PI/180;
return radian;
}
}
onClipEvent (enterFrame) {
t += speed;
if (t>90) {
t = 90;
speed = -speed;
}
if (t<-90) {
t = -90;
speed = -speed;
}
var rot = Math.sin(DegToRad(t))*winkel;
_rotation = rot;
} ich blick es nicht mehr, sorry. floydmann |
| | |
| | #5 (permalink) |
| Neuer User Registriert seit: Feb 2005
Beiträge: 142
| ich hoffe es nervt nicht...
...aber wie gesagt ich bin wieder einstückchen weiter. eigentlich fehlt mir jetzt nur noch eines: wie schaffe ich es, dass der startpunkt der linie (liegt ausserhalb der bühne) immer an der gleichen stelle bleibt. momentan habe ich folgendes script gebastelt (und das it das richtige wort dafür:-)): Code: posX2 = quadrat._x;
posY2 = quadrat._y;
var winkel = 10;
var t = winkel;
var speed = 1;
// Degree in Radius
function DegToRad(angle) {
var radian = angle*Math.PI/180;
return radian;
}
function bewegQuadrat() {
this.quadrat.onEnterFrame = function() {
//Linie wird wieder gelöscht
clear();
//Linie wird gezeichnet
lineStyle(1, 0x000000, 100);
moveTo(0, 0);
curveTo(200, -200, _root.posX2, _root.posY2);
//trace(t);
//Winkelabfrage, wenn grösser als 60
t += speed;
if (t>60) {
t = 60;
speed = -speed;
//trace(t);
}
if (t<-60) {
t = -60;
speed = -speed;
//trace(t);
}
var rot = Math.sin(DegToRad(t))*winkel;
_rotation = rot;
};
}
bewegQuadrat(); wer könnte sich bitte einmal kurz zeit nehmen, die *.fla anschauen und mir einen hinweis liefern? vielen dank floydmann |
| | |
| | #6 (permalink) |
| Linksaußen Registriert seit: Jun 2003 Ort: Essen
Beiträge: 552
|
Floyd, speichere Deine Datei mal nicht als MX 2004, ich hab' nur MX! Dann schau' ich's mir mal an. Prinzipiell sollte es überhaupt kein Problem sein, den Anfangspunkt der Linie immer im gleichen Punkt zu halten.
__________________ Der Ball ist rund |
| | |
| | #7 (permalink) |
| Neuer User Registriert seit: Feb 2005
Beiträge: 142
| danke
@fralle: dane, dass du dir die zeit dafür nimmst. inzwischen bin ich wieder ein stück weiter gekommen, der punkt bleibt an seiner stelle. jedoch wollte ich, dass sich mit curveTo die linie biegt, je nach dem wo sich das quadrat befindet. das curveTo scheint aber nur einmal ausgeführt zu werden, obwohl es in einem onEnterFrame steht. vilelleicht kannst du mir da weiterhelfen. vielen dank für deine mühe floydmann |
| | |
| | #8 (permalink) |
| Linksaußen Registriert seit: Jun 2003 Ort: Essen
Beiträge: 552
|
mal was gebastelt. Der springende Punkt ist, daß der MC, in dem die Linie liegt und der, in dem das Pendel, getrennt sein müssen, weil ja sonst die Linie sich auch immer mit verdreht.
__________________ Der Ball ist rund Geändert von Fralle (26-11-2005 um 17:18 Uhr) |
| | |
| | #9 (permalink) |
| Neuer User Registriert seit: Feb 2005
Beiträge: 142
| vielen dank...
...jetzt weiss ich wenigstens woran es gehakt hat, jedoch habe ich noch einige fragen, wenn es dir keine umstände macht: ich habe mir die datei angeschaut und versucht, dass auf meine zu übertragen. folgende probleme sind bei mir aufgetreten: das quadrat hängt nicht an der schnur. meine frage: wie kann ich die länge der linie verlängern? zweitens: das quadrat pendelt bei mir nur am fleck:-( und zuguterletzt: da ist ein loch links oben im quadrat (in der angehängten datei). ddie schnur soll daran befestigt sein, dass es aussieht wie aufgehängt. jetzt ist natürlich das problem mit dem registrierungspunkt und der drehung. ist das pendel rechts, dann sollte das quadrat nach links gekippt sein, ist es links, dann soll es nach rechts gekippt sein. wie schaffe ich das? ich schaue mir das jetzt nochmal genau an. aber vielleicht kannst du dir das auch nochmal anschauen, das würde mir bestimmt sehr helfen. vielen dank floydmann Geändert von floydmann (26-11-2005 um 18:39 Uhr) |
| | |
| | #10 (permalink) |
| Linksaußen Registriert seit: Jun 2003 Ort: Essen
Beiträge: 552
|
wie gefällt Dir dies. Ich habe allerdings meine Version nach Deinen Wünschen angepasst. Das Script ist aber echt easy! Nur zwei MC's haben (wenig) Script und es ist alles kommentiert.
__________________ Der Ball ist rund |
| | |
| | #11 (permalink) |
| Neuer User Registriert seit: Feb 2005
Beiträge: 142
| danke danke danke...
@fralle: vielen dank, dass du dir so viel zeit genommen hast und vor allem das script so cool kommentiert hast. das meinte ich mit "wissen was da passiert". für dich ist es relativ einfach wahrscheinlich. ich bin aber noch relativer anfänger und gerade mit mathematischen oder physischen formeln, da hakt es ganz gewaltig bei mir:-) deshalb ist es gut, dass du mir das alles kommentiert hast, denn letztendlich möchte ich es ja verstehen, was und wie es gemacht wird. vielen dank nochmal floydmann |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |