2015-03-13 35 views
2

我有一个代码,我可以通过互联网获取图像...我已经完成了它。我要补充到按钮,一个提高,一个降低的间隔......在动作脚本2.0如何添加按钮以减少和增加动作脚本2.0中的时间间隔sp_dump

import mx.transitions.*; 
import mx.transitions.easing.*; 
my_pb.mode = "manual"; 
this.createEmptyMovieClip("img_mc", 999); 
var my_mcl:MovieClipLoader = new MovieClipLoader(); 
var mclListenerbject = new Object(); 
mclListener.onLoadStart = function(target_mc:MovieClip) { 
    my_pb.label = "loading: "+target_mc._name; 
}; 
mclListener.onLoadProgress = function(target_mc:MovieClip, numBytesLoaded:Number, numBytesTotal:Number) { 
    var pctLoaded:Number = Math.ceil(100*(numBytesLoaded/numBytesTotal)); 
    my_pb.setProgress(numBytesLoaded, numBytesTotal); 
}; 
var number:Number = 2000; 
var myInterval = setInterval(testInterval, number); // 
function testInterval() { 
my_mcl.addListener(mclListener); 
my_mcl.loadClip("http://google.com/l5", img_mc); 
} 

我可以创建2个按钮,但也有一些错误...

+0

什么样的错误?等等,为什么你还在使用AS2.0? – Raptor 2015-03-13 11:16:52

+0

我是新来的......所以我从2.0开始 – TOM 2015-03-13 11:19:04

+0

号请不要。 AS2.0已经在很多年前停产了,而AS3.0并不是AS2.0的直接升级版本(例如语法非常不同)。 – Raptor 2015-03-13 11:20:00

回答

2

如果你想改变setInterval功能的间隔,必须清除它,然后使用功能与新的区间值,就像这样:

var delay:Number = 2000; 

var interval = setInterval(on_repeat, delay); 
function on_repeat() { 
    // instructions 
} 

fast.onPress = function(){ 
    clearInterval(interval); 
    interval = setInterval(on_repeat, delay - 1000); 
} 
slow.onPress = function(){ 
    clearInterval(interval); 
    interval = setInterval(on_repeat, delay + 1000); 
} 

但是,正如@Raptor说,我推荐你使用ActionScript 3代替旧的ActionScript 2.

例如,上面的代码能够简单地通过一个Timer对象替换:

var delay:int = 2000; 

var timer:Timer = new Timer(delay); 
    timer.addEventListener(TimerEvent.TIMER, function(e:TimerEvent):void { 
     // instructions  
    }) 
    timer.start(); 

fast.addEventListener(MouseEvent.CLICK, function(e:MouseEvent):void { 
    timer.delay = delay - 1000; 
}) 

slow.addEventListener(MouseEvent.CLICK, function(e:MouseEvent):void { 
    timer.delay = delay + 1000; 
}) 

希望,可以帮助。

+0

@TOM没有,因为在父时间轴,你这样做:'btn.onPress = function(){/ *指令* /}'这相当于:on(press)= function(){/ * instructions * /}'作为按钮动作。 – akmozo 2015-03-16 07:47:27

+0

@TOM我不知道你是如何包含你的按钮,但在我的示例代码中,我命名按钮:快速和慢速,所以考虑到这一点。 – akmozo 2015-03-16 16:00:58

+0

@TOM验证你的代码,慢速按钮有一个'+',快速按钮有'-'。 – akmozo 2015-03-17 13:31:43

1
var current_loader:Number = 1;   
var current_img:Number = 0;    
this.createEmptyMovieClip('img_01', 999);    
this.createEmptyMovieClip('img_02', 998);    
img_01._x = img_01._y=img_02._x=img_02._y=20;    
    var loader:MovieClipLoader = new MovieClipLoader(); 

    var listener:Object = new Object();     
    listener.onLoadStart = function(target_mc:MovieClip) { 
}; 

listener.onLoadProgress = function(target_mc:MovieClip,  numBytesLoaded:Number, numBytesTotal:Number) { 
}; 


    listener.onLoadComplete = function(target_mc:MovieClip) {  
    if (target_mc._name == 'img_01') {    
    img_02._visible = false;    
    } else {     
    img_01._visible = false;    
    }     
}; 


var delay:Number = 2000;     
var interval = setInterval(load_image, delay);   
function load_image() { 
loader.addListener(listener);    
loader.loadClip("http://google.com/latimage.php?",  _root['img_0'+current_loader]);          
current_loader = current_loader == 1 ? 2 : 1;           
current_img = current_img == images.length-1 ? 0 : current_img+1; 
}     
    slow.onRelease = function() {    
    interval = setInterval(load_image, delay+1000);    
    trace(interval);    

};    
    fast.onRelease = function() {     
    clearInterval(interval);     
    interval = setInterval(load_image, delay-1000); 
    trace(interval);    

};    
image_load();       
相关问题