Actionscript 3 将actionscript 2脚本转换为actionscript 3
我有一个ActionScript2.0脚本,但我希望它在ActionScript3.0中 我的剧本:Actionscript 3 将actionscript 2脚本转换为actionscript 3,actionscript-3,flash,actionscript,scrollbar,actionscript-2,Actionscript 3,Flash,Actionscript,Scrollbar,Actionscript 2,我有一个ActionScript2.0脚本,但我希望它在ActionScript3.0中 我的剧本: var speed:Number = 15; avancar.onPress = function () { _root.onEnterFrame = function() { if(scroll_img._x > -262) { scroll_img._x -= speed; } } } avancar.onRelease = functio
var speed:Number = 15;
avancar.onPress = function () {
_root.onEnterFrame = function() {
if(scroll_img._x > -262) {
scroll_img._x -= speed;
}
}
}
avancar.onRelease = function() {
delete_root.onEnterFrame;
}
voltar.onPress = function () {
_root.onEnterFrame = function() {
if(scroll_img._x < 56) {
scroll_img._x += speed;
}
}
}
voltar.onRelease = function() {
delete_root.onEnterFrame;
}
var速度:数字=15;
avancar.onPress=函数(){
_root.onEnterFrame=函数(){
如果(滚动图像>至262){
滚动\u img.\u x-=速度;
}
}
}
avancar.onRelease=函数(){
删除_root.oneterframe;
}
voltar.onPress=函数(){
_root.onEnterFrame=函数(){
如果(滚动图像x<56){
滚动\u img.\u x+=速度;
}
}
}
voltar.onRelease=函数(){
删除_root.oneterframe;
}
我试了大约一个小时来找到ActionScript3.0,但是我找不到。如果有人能帮助我,我会非常高兴。哇,即使在AS2中,这段代码也很难看 让我们首先删除内联函数,如下所示:
avClicked = false;
vtClicked = false; // these are just triggers
function moveScrollImg(e:Event):void {
if ((scroll_img._x > -262) && avClicked) scroll_img.x -= speed;
if ((scroll_img._x < 56) && vtClicked) scroll_img.x += speed;
}
function triggerFlag(e:MouseEvent):void {
if (e.buttonDown) {
if (e.target == avancar) avClicked = true;
if (e.target == voltar) vtClicked = true;
else {
avClicked = false;
vtClicked = false;
}
}
this.addEventListener(Event.ENTER_FRAME, moveScrollImg);
avancar.addEventListener(MouseEvent.MOUSE_DOWN, triggerFlag);
voltar.addEventListener(MouseEvent.MOUSE_DOWN, triggerFlag);
avancar.addEventListener(MouseEvent.MOUSE_UP, triggerFlag);
voltar.addEventListener(MouseEvent.MOUSE_UP, triggerFlag);
avClicked=false;
vtClicked=false;//这些只是触发器
函数moveScrollImg(e:事件):void{
如果((滚动img.\u x>-262)和&avClicked)滚动img.x-=速度;
如果((滚动img.\u x<56)&&v单击)滚动img.x+=速度;
}
函数triggerFlag(e:MouseEvent):无效{
如果(如按钮向下){
如果(e.target==avancar)avClicked=true;
如果(e.target==voltar)vtClicked=true;
否则{
avc=false;
vtc=false;
}
}
this.addEventListener(Event.ENTER_FRAME,moveScrollImg);
avancar.addEventListener(MouseEvent.MOUSE_DOWN,triggerFlag);
voltar.addEventListener(MouseEvent.MOUSE_DOWN,triggerFlag);
avancar.addEventListener(MouseEvent.MOUSE_UP,triggerFlag);
voltar.addEventListener(MouseEvent.MOUSE\u UP,triggerFlag);
这应该会有所帮助。
别忘了,要使这段代码(或任何其他与EventDispatcher相关的类)正常工作,您必须为Sprite创建子类。非常感谢。但我遇到了一个错误:未定义属性(avClicked/speed/vtClicked/avancar)在最顶端使用
var-avClicked:Boolean=false;var-vtClicked:Boolean=false;var-speed:Number=15;
。由于堆栈溢出不是代码转换服务,因此此问题似乎与主题无关。