Chrono
%Europe/Berlin %463 %2007, 12:06
Gedag,
Ik probeer net voor het eerst iets met setInterval te doen.
http://www.kirupa.com/developer/actionscript/setinterval.htm
Ik heb een script gemaakt dat om de zoveel tijd een mc toevoegt (om de framerate omlaag te helpen), en bijhoudt wat de framerate is. De mc's zelf zijn ook op setInterval gebaseerd, dus mij lijkt het logisch als de snelheid waarmee ze bewegen niet van de framerate afhangt, hoogstens dat het wat schokkeriger wordt.
Wat schetst mijn verbazing als de mc's desalniettemin langzamer gaan bewegen!
[?] : Waarom wordt de rotatie langzamer terwijl deze op tijd i.p.v. frames gebaseerd is? (tenminste, dat denk ik)
In de swf is de trace die de framerate geeft niet te zien, maar deze wordt van ±12 steeds lager, en om de 5 seconden gegeven.
De (nogal messy) code is als volgt:
//framechecker houdt bij wat de framerate is
_root.createEmptyMovieClip("framechecker", 1);
// a is voor de framachecker, om te zien hoeveel frames er na een bepaalde tijd verstreken zijn
a = 0;
// i is om de mc's een naam te geven en in een array te zetten
i = 0;
framechecker.onEnterFrame = function() {
a++;
};
//laat de gemiddelde framerate van de afgelopen vijf seconden zien
framechecker.checkframerate = function() {
trace(a/5);
a = 0;
return 0;
};
//het setIntervalletje dat de framechecker laat werken
drum = setInterval(framechecker, "checkframerate", 5000);
// turn is om de mc's te laten draaien, wordt door paint aangeroepen
turn = function (v) {
v._rotation += 2;
};
// blok is om de mc's in te zetten
blok = new Array();
// artist paint om de 200 ms een mc
paint = function () {
blok[i] = _root.attachMovie("blok", "blok"+i, _root.getNextHighestDepth());
blok[i]._x = random(400)+75;
blok[i]._y = random(300)+50;
blok[i].turner = setInterval(turn, 10, blok[i]);
i++;
};
artist = setInterval(paint, 200);
Alvast bedankt,
Chrono
Ik probeer net voor het eerst iets met setInterval te doen.
http://www.kirupa.com/developer/actionscript/setinterval.htm
Ik heb een script gemaakt dat om de zoveel tijd een mc toevoegt (om de framerate omlaag te helpen), en bijhoudt wat de framerate is. De mc's zelf zijn ook op setInterval gebaseerd, dus mij lijkt het logisch als de snelheid waarmee ze bewegen niet van de framerate afhangt, hoogstens dat het wat schokkeriger wordt.
Wat schetst mijn verbazing als de mc's desalniettemin langzamer gaan bewegen!
[?] : Waarom wordt de rotatie langzamer terwijl deze op tijd i.p.v. frames gebaseerd is? (tenminste, dat denk ik)
In de swf is de trace die de framerate geeft niet te zien, maar deze wordt van ±12 steeds lager, en om de 5 seconden gegeven.
De (nogal messy) code is als volgt:
//framechecker houdt bij wat de framerate is
_root.createEmptyMovieClip("framechecker", 1);
// a is voor de framachecker, om te zien hoeveel frames er na een bepaalde tijd verstreken zijn
a = 0;
// i is om de mc's een naam te geven en in een array te zetten
i = 0;
framechecker.onEnterFrame = function() {
a++;
};
//laat de gemiddelde framerate van de afgelopen vijf seconden zien
framechecker.checkframerate = function() {
trace(a/5);
a = 0;
return 0;
};
//het setIntervalletje dat de framechecker laat werken
drum = setInterval(framechecker, "checkframerate", 5000);
// turn is om de mc's te laten draaien, wordt door paint aangeroepen
turn = function (v) {
v._rotation += 2;
};
// blok is om de mc's in te zetten
blok = new Array();
// artist paint om de 200 ms een mc
paint = function () {
blok[i] = _root.attachMovie("blok", "blok"+i, _root.getNextHighestDepth());
blok[i]._x = random(400)+75;
blok[i]._y = random(300)+50;
blok[i].turner = setInterval(turn, 10, blok[i]);
i++;
};
artist = setInterval(paint, 200);
Alvast bedankt,
Chrono