Volledige versie bekijken : Interval wil niet clearen...
tdskate
%Europe/Berlin %428 %2005, 11:16
function StageFunction():Void {
mcBackground._width = Stage.width;
mcBackground._height = Stage.height;
centerInterval = setInterval(centerWin, 100);
}
function centerWin():Void {
new_X = (Stage.width/2-(mcCenter._width/2))-mcCenter._x;
new_Y = (Stage.height/2-(mcCenter._height/2))-mcCenter._y;
mcCenter._x += new_X/10;
mcCenter._y += new_Y/10;
if (new_X<1) {
clearInterval(centerInterval);
trace("clear");
}
}
var stageListen:Object = new Object();
stageListen.onResize = function():Void {
StageFunction();
};
Stage.addListener(stageListen);
Stage.align = "TL";
Stage.scaleMode = "noScale";
mateo)
%Europe/Berlin %435 %2005, 11:27
je moet die interval ook clearen in de stageFunction. ik heb er een trace ingezet en dan zie je dat de stageFunction meteen al 2 keer wordt aangeroepen: dus de interval wordt 2 keer aangemaakt en dan raakt flash in de war:
function StageFunction():Void {
trace("StageFunction");
clearInterval(centerInterval);
mcBackground._width = Stage.width;
mcBackground._height = Stage.height;
centerInterval = setInterval(centerWin, 100);
}
function centerWin():Void {
new_X = (Stage.width/2-(mcCenter._width/2))-mcCenter._x;
new_Y = (Stage.height/2-(mcCenter._height/2))-mcCenter._y;
mcCenter._x += new_X/10;
mcCenter._y += new_Y/10;
if (new_X<1) {
clearInterval(centerInterval);
trace("clear");
}
}
var stageListen:Object = new Object();
stageListen.onResize = function():Void {
StageFunction();
};
Stage.addListener(stageListen);
Stage.align = "TL";
Stage.scaleMode = "noScale";
tdskate
%Europe/Berlin %532 %2005, 13:47
Neen dat is het niet,
de functie centerWin() zou zo lang moeten blijven spelen tot mcCenter in het midden staat.
ik wil hetzelfde effect bekomen als http://www.playstation.com/products.html
m'n script moet gewoon nog ge-finetuned worden. Kan iemand me helpen?
theFlashWizard
%Europe/Berlin %535 %2005, 13:50
ik weet ook wel heel zeker dat als je een interval niet cleared voordat je een nieuwe maakt onder dezelfde naam je problemen krijgt..
dus begin daar maar is mee.. voordat je aan et "fine-tune" begint.. ;)
tdskate
%Europe/Berlin %350 %2005, 09:25
astublieeeef help...
var minX:Number = 800;
var minY:Number = 400;
function stageX():Number {
if (Stage.width<=minX) {
return minX;
} else {
return Stage.width;
}
}
function stageY():Number {
if (Stage.height<=minY) {
return minY;
} else {
return Stage.height;
}
}
function StageFunctions():Void {
mcBackground._width = stageX();
mcBackground._height = stageY();
trace(setCenter);
_root.setCenter = setInterval(centerWin, 50);
}
function centerWin():Void {
new_X = (Stage.width/2-(mcCenter._width/2))-mcCenter._x;
new_Y = (Stage.height/2-(mcCenter._height/2))-mcCenter._y;
mcCenter._x += new_X/3;
mcCenter._y += new_Y/3;
}
//----
//----
var stageListen:Object = new Object();
stageListen.onResize = function():Void {
StageFunctions();
};
Stage.addListener(stageListen);
Stage.align = "TL";
Stage.scaleMode = "noScale";
tdskate
%Europe/Berlin %360 %2005, 09:39
nu wordt ze mar één keer opgeroepen, maar is nog niet exact hoe het moet.
please help, kben zo close
var minX:Number = 800;
var minY:Number = 400;
function stageX():Number {
if (Stage.width<=minX) {
return minX;
} else {
return Stage.width;
}
}
function stageY():Number {
if (Stage.height<=minY) {
return minY;
} else {
return Stage.height;
}
}
function StageFunctions():Void {
mcBackground._width = stageX();
mcBackground._height = stageY();
if (!setCenter) {
setCenter = setInterval(centerWin, 50);
}
}
function centerWin():Void {
new_X = (Stage.width/2-(mcCenter._width/2))-mcCenter._x;
new_Y = (Stage.height/2-(mcCenter._height/2))-mcCenter._y;
mcCenter._x += new_X/2;
mcCenter._y += new_Y/2;
trace(setCenter);
}
//----
//----
var stageListen:Object = new Object();
stageListen.onResize = function():Void {
StageFunctions();
};
Stage.addListener(stageListen);
Stage.align = "TL";
Stage.scaleMode = "noScale";
theFlashWizard
%Europe/Berlin %378 %2005, 10:04
sorry tdskate, met astublieeeft help kan ik niet zoveel..
de oplossing is simpel weg altijd voor de setInterval een clearInterval te maken..
dit heeft voorderest geen invloed op het functioneren het zorgt er alleen voor dat er maar 1 interval draait en die gewoon gecleart kan worden..
en als je hier niet uitkomt en je iets meer hulp wilt over hoe je dat zou moeten doen moet je dat gewoon zeggen.. :) en niet alleen maar komen met help..
tdskate
%Europe/Berlin %552 %2005, 14:15
wtf, ok laat dan maar :O
theFlashWizard
%Europe/Berlin %624 %2005, 15:59
sorry heb ik onbewust wat raars gezegt?
SaphuA
%Europe/Berlin %726 %2005, 18:26
Beetje ondankbaar tdsakte..
Er zijn al twee mensen die je proberen te helpen en je negeerd ze gewoon, en een bedankje kan er ook niet af..
Zoek het lekker zelf uit zou ik zeggen :)
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.