| |||||||
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 2006
Beiträge: 11
| Kreis von AS zeichnen lassen
Hi alle, Ich suche ein Script, mit dem ich in einem Tutorial bei Bedarf einen Kreis um eine Stelle zeichnen lassen kann. Ich habe hier gesucht und das folgende Script gefunden (funktioniert nur mit AS 1, und nur im ersten Frame der Scene. Ich brauche es aber so, dass ich es in einen MC packen kann und beliebig in der Zeitleiste und auf der Bühne plazieren kann) - kann jemand helfen? Herzlichen Dank!: _root.createEmptyMovieClip ( "mc", 1 ); function init() { b = Stage.width/2; h = Stage.height/2; faktor =6.3; } _root.mc.onEnterFrame = function () { _root.mc.kreis(98,98); if (i > _root.faktor) { delete _root.mc.onEnterFrame; } } movieclip.prototype.kreis = function (breite,hoehe) { i += .25; var x = Math.cos (i) * breite + b; var y = Math.sin (i) * hoehe + h; this.lineTo (x,y); this.lineStyle (5,0xCC0000,100); } // Ausführen _root.onLoad = init; |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #4 (permalink) |
| ................ Registriert seit: Jun 2004
Beiträge: 15.890
|
Hallo! Das Script was du da hast, funktioniert schon (auch wenn der Kreis kacke aussieht ).Du musst nur auf Groß-/Kleinscheibung achten und Variablen vor der Nutzung deklarieren: PHP-Code:
__________________ ternärer Konditionaloperator +++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++ |
| | |
| | #5 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
"..Kreis kacke.." welch anrüchige worte ;-) deshalb vielleicht die funktion Kreis-Segment und mit i einen immer grösseren winkel zeichnen lassen (das vorherige draw immer mit this.clear(); löschen)
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #6 (permalink) |
| Neuer User Registriert seit: Feb 2006
Beiträge: 11
|
Herzlichen Dank alle. das neue Script funktioniert. - Entschuldigt meine Planlosigkeit - aber was muß ich tun, damit es in einem anderen als dem ersten Frame funktioniert. Und wie setze ich es in auf der Bühne an die richtige Stelle? Besten Dank und einen schönen Abend Macangelo Geändert von macangelo (02-07-2006 um 19:16 Uhr) |
| | |
| | #7 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
das prototype irgendwo am anfang und _root durch den mc-pfad ersetzen, wo du das halt rein-draw-en willst. z.b. var _mc = _root.neuerkreis_mc.createEmptyMovieClip(... _mc.kreis(...
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de |
| | |
| | #8 (permalink) |
| Neuer User Registriert seit: Feb 2006
Beiträge: 11
|
so, ich habe meinen MC, den ich positionieren will, "mycircle" genannt und den code wie folgt geändert (läuft leider noch nicht auch nicht, wenn ich in dem MC bin und von da test will): _root.mycircle.createEmptyMovieClip("mc", 1); var i = 0; function init() { b = Stage.width/2; h = Stage.height/2; faktor = 6.3; } _root.mycircle.mc.onEnterFrame = function() { _root.mycircle.mc.kreis(98, 98); if (i>root.mycircle.faktor) { delete this.onEnterFrame; } }; MovieClip.prototype.kreis = function(breite, hoehe) { i += .25; var x = Math.cos(i)*breite+b; var y = Math.sin(i)*hoehe+h; this.lineTo(x, y); this.lineStyle(5, 0xCC0000, 100); }; // Ausführen _root.mycircle.onLoad = init; gruß Macangelo |
| | |
| | #9 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.322
|
du hasst doch jetzt schon so viel hilfestellung bekommen. wenn etwas nicht geht, dann probiert man halt so lange drann rum bis es geht... Code: var sin = Math.sin, cos = Math.cos, rad = Math.PI/180;
MovieClip.prototype.fDraw_Arc = function(x, y, r, wa, we) {
with (this) {
var t = Math.ceil(Math.abs(we-wa)/45);
wa *= -rad, we *= -rad;
var d = (we-wa)/t, c = d/2, e = r/cos(c);
moveTo(x+cos(wa)*r, y+sin(wa)*r);
while (t--) {
curveTo(x+e*cos(we), y+e*sin(we=wa-c), x+r*cos(wa), y+r*sin(wa += d));
}
}
};
//
function fRund(_container, level, r, x, y, speed) {
var _mc = _container.createEmptyMovieClip('k'+level, level);
_mc.w = 0;
_mc.onEnterFrame = function() {
this.clear();
this.lineStyle(0, 0);
this.fDraw_Arc(x, y, r, 0, this.w += speed);
if (this.w>=360) {
delete this.onEnterFrame;
}
};
}
//
var _mc = _root.createEmptyMovieClip('kreislich', 1);
for (var i = 1; i<=50; i++) {
var r = random(120)+40;
var x = r+random(Stage.width-r-r);
var y = r+random(Stage.height-r-r);
var speed = random(6)+3;
fRund(_mc, i, r, x, y, speed);
}
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (03-07-2006 um 07:58 Uhr) |
| | |
| | #10 (permalink) |
| Neuer User Registriert seit: Jul 2006
Beiträge: 21
|
Hi, erstmal danke für das Schnippsel, finde ich super nützlich! Dazu habe ich eine Frage und zwar wie muss ich das modizieren, dass sich die Kreise von oben her ( da wo jetzt 90° sind ) im Uhrzeigersinn aufbauen ? Hoffe das ist nicht zu viel verlangt ![]() ciao |
| | |
| | #11 (permalink) |
| Weichei Registriert seit: Nov 2002 Ort: Koblenz a. Rhein
Beiträge: 226
|
Hi.. interessanterweise beschäftige ich mich grade mit dem gleichen Thema. Ich hab das ganze folgendermaßen gelöst: PHP-Code: An alle AS-Kings: Ich weiss, dass dem Code nur noch der Griff zum wegwerfen fehlt ^^. Habs halt nich so drauf. Liebe Grüße
__________________ SpherXz //Relaunch in progress Wer glaubt, ich sei zu blöd zum schreiben, hat recht! //Stuff HTML-Typewriter |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |