| |||||||
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: Aug 2004
Beiträge: 34
|
hallo und guten morgen, ich habe gestern hier schonmal angefragt, dachte dann aber ich mach die sache mit formtweens. das sieht aber einfach furchtbar aus. ich hab auf der seite von hg.seib eine wunderbare welle gefunden. Code: var cBogenmass = Math.PI/180;
var cHoch = 384;
var cLinks = 50;
var cRechts = 1024;
var cRand = 20;
var cStepps_pro_draw = 230;
var cVorschub = (cRechts-cLinks)/cStepps_pro_draw;
var cDreh_pro_draw = 10*cBogenmass;
var cRadius = 120;
// globale
var gDaempfung = 0;
var gDrehung = 0;
var gDreh_pro_time = 0;
//
function fRahmen() {
with (_root.rahmen_mc) {
// rahmen
lineStyle(2, 0xF21C0A, 50);
moveTo(cLinks-cRand, cHoch-cRadius-cRand);
lineTo(cRechts+cRand, cHoch-cRadius-cRand);
lineTo(cRechts+cRand, cHoch+cRadius+cRand);
lineTo(cLinks-cRand, cHoch+cRadius+cRand);
lineTo(cLinks-cRand, cHoch-cRadius-cRand);
//
// mittellinie
lineStyle(1, 0xF21C0A, 100);
moveTo(cLinks-cRand/2, cHoch);
lineTo(cRechts+cRand/2, cHoch);
}
}
function fSinuswelle(vDrehung, vDreh_pro_time, vDaempfung) {
with (_root.paint_mc) {
clear();
var r = cRadius;
var y = cHoch+r*Math.sin(vDrehung);
var x = cLinks;
// welle
lineStyle(1, 0xffffff, 100);
moveTo(x, y);
for (var vTime = 0; vTime<cStepps_pro_draw; vTime++) {
vDrehung += vDreh_pro_time;
r *= vDaempfung;
y = cHoch+r*Math.sin(vDrehung);
x += cVorschub;
lineTo(x, y);
}
}
}
//
_root.rahmen_mc = _root.createEmptyMovieClip('rahmen', 1);
_root.paint_mc = _root.createEmptyMovieClip('paint', 2);
fRahmen();
_root.onEnterFrame = function() {
// je Draw wird der Anfangswinkel erhoeht, das erzeugt eine Drehung der kompletten Welle.
gDrehung += cDreh_pro_draw;
//
// durch variieren der Drehgeschwindigkeit werden die Wellen unterschiedlich lang.
// Math.sin liefert einen wert von -1 bis 1
// somit 12 +/- 10 ==> 2 grad .. 22 grad
gDreh_pro_time = (2+10*Math.sin(gDrehung/13))*cBogenmass;
//
// durch variieren der Daempfung werden die Wellen unterschiedlich stark abgeschwaecht.
// Math.sin liefert einen wert von -1 bis 1
// somit .97 +/- .03 ==> 94% .. 100%
gDaempfung = .97+.03*Math.sin(gDrehung/10);
//
fSinuswelle(gDrehung, gDreh_pro_time, gDaempfung);
}; kann man daraus auch 2 machen, die unterschiedlich "pulsieren", aber im weiteren verlauf in einklang schwingen und sich zu einer linie verbinden? hat irgendjemand einen tip oder ansatz für mich? ich bin für alles dankbar!!! eure verzweifelte |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |