Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
226 views
in Technique[技术] by (71.8m points)

Actionscript 2.0 to 3.0, please give a hand, am I converting wrong?

I'm doing the Actionscript 2.0 to 3.0 work but I have very few idea on 3.0, Can somebody good guys help to make a translate please! I have try to finish a version but my work just cannot being "drag n drop" after changing the codes.

stop();
var randomPositionFrame = int(Math.random()*9)+1;
content_mc.gotoAndStop(randomPositionFrame);
for(var i=1; i<=5; i++){
eval("content_mc.matching_term_"+i)._alpha = 0;
eval("content_mc.matching_term_"+i).onPress = function(){
    if(this._currentframe == 1){
        this.startDrag();
    }
}
eval("content_mc.matching_term_"+i).onRelease = onMouseUp = function(){
    this.stopDrag();
}

eval("content_mc.matching_desc_"+i)._alpha = 0;
eval("content_mc.matching_desc_"+i).onPress = function(){
    if(this._currentframe == 1){
        this.startDrag();
    }
}
eval("content_mc.matching_desc_"+i).onRelease = onMouseUp = function(){
    this.stopDrag();
}
}

var winGame = false;
var alphaSpeed = 20;
var mouseListener:Object = new Object();
mouseListener.onMouseDown = function () { this.isDown = true;};
mouseListener.onMouseUp = function () {
this.isDown = false;
//Game Logic Check Correct
for(var i=1; i<=5; i++){
    //term match description
    if(eval("content_mc.matching_desc_"+i).mc._currentframe == 2 && eval("content_mc.matching_term_"+i).mc._currentframe == 2){
        if(eval("content_mc.matching_term_"+i)._currentframe == 1){
            eval("content_mc.matching_term_"+i).gotoAndPlay(2);
            eval("content_mc.matching_desc_"+i).gotoAndPlay(2);
        }
    }
    //description match term
    else if(eval("content_mc.matching_desc_"+i).mc._currentframe == 2 && eval("content_mc.matching_term_"+i).mc._currentframe == 2){
        if(eval("content_mc.matching_desc_"+i)._currentframe == 1){
            eval("content_mc.matching_term_"+i).gotoAndPlay(2);
            eval("content_mc.matching_desc_"+i).gotoAndPlay(2);
        }
    }
}

}; Mouse.addListener(mouseListener);

this.onEnterFrame = function(){
//display terms at start
if(content_mc.matching_term_1._alpha < 100){
    content_mc.matching_term_1._alpha +=alphaSpeed;
}
if(content_mc.matching_term_1._alpha >= 100){
    if(content_mc.matching_term_2._alpha < 100){
        content_mc.matching_term_2._alpha +=alphaSpeed;
    }
}
if(content_mc.matching_term_2._alpha >= 100){
    if(content_mc.matching_term_3._alpha < 100){
        content_mc.matching_term_3._alpha +=alphaSpeed;
    }
}
if(content_mc.matching_term_3._alpha >= 100){
    if(content_mc.matching_term_4._alpha < 100){
        content_mc.matching_term_4._alpha +=alphaSpeed;
    }
}
if(content_mc.matching_term_4._alpha >= 100){
    if(content_mc.matching_term_5._alpha < 100){
        content_mc.matching_term_5._alpha +=alphaSpeed;
    }
}
//display description at start
if(content_mc.matching_term_5._alpha >= 100){
    if(content_mc.matching_desc_1._alpha < 100){
        content_mc.matching_desc_1._alpha +=alphaSpeed;
    }
    if(content_mc.matching_desc_1._alpha >= 100){
        if(content_mc.matching_desc_2._alpha < 100){
            content_mc.matching_desc_2._alpha +=alphaSpeed;
        }
    }
    if(content_mc.matching_desc_2._alpha >= 100){
        if(content_mc.matching_desc_3._alpha < 100){
            content_mc.matching_desc_3._alpha +=alphaSpeed;
        }
    }
    if(content_mc.matching_desc_3._alpha >= 100){
        if(content_mc.matching_desc_4._alpha < 100){
            content_mc.matching_desc_4._alpha +=alphaSpeed;
        }
    }
    if(content_mc.matching_desc_4._alpha >= 100){
        if(content_mc.matching_desc_5._alpha < 100){
            content_mc.matching_desc_5._alpha +=alphaSpeed;
        }
    }
    /*if(content_mc.matching_desc_5._alpha >= 100){
        delete this.onEnterFrame;
    }*/
}

//Roll over effect
for(var i=1; i<=5; i++){
    if(eval("content_mc.matching_term_"+i).hitTest(this._xmouse, this._ymouse)){
        eval("content_mc.matching_term_"+i).mc.gotoAndStop(2);
    }
    else{
        eval("content_mc.matching_term_"+i).mc.gotoAndStop(1);
    }
    if(eval("content_mc.matching_desc_"+i).hitTest(this._xmouse, this._ymouse)){
        eval("content_mc.matching_desc_"+i).mc.gotoAndStop(2);
    }
    else{
        eval("content_mc.matching_desc_"+i).mc.gotoAndStop(1);
    }
}

//remove the matched movieclips
for(var i=1; i<=5; i++){
    if(eval("content_mc.matching_term_"+i)._currentframe == 10){
        eval("content_mc.matching_term_"+i)._y = -1000;
    }
    if(eval("content_mc.matching_desc_"+i)._currentframe == 10){
        eval("content_mc.matching_desc_"+i)._y = -1000;
    }
}

//Win Game
for(var i=1; i<=5; i++){
    if(eval("content_mc.matching_desc_"+i)._currentframe == 10){
        winGame = true;
    }
    else{
        winGame = false;
        return;
    }
}
if(winGame == true){
    this.gotoAndPlay("endRound1");
}
}

I have done the 3.0 like this: (but turns out the I cannot do the drag n drop)

stop();
var randomPositionFrame = int(Math.random()*9)+1;
content_mc.gotoAndStop(randomPositionFrame);
for(var i=1; i<=5; i++){
this["content_mc.matching_term_"+i]._alpha = 0;
       this["content_mc.matching_term_"+i].addEventListener(MouseEvent.MOUSE_DOWN,function():void     {
if(this._currentframe == 1){
        this.startDrag();
    }
}
);
    this["content_mc.matching_term_"+i].addEventListener(MouseEvent.MOUSE_UP,function():void {
stage.addEventListener(MouseEvent.MOUSE_UP, doMouseUp, false, 0,     true);              

);

this["content_mc.matching_desc_"+i]._alpha = 0;
        this["content_mc.matching_desc_"+i].addEventListener(MouseEvent.MOUSE_DOWN,function():void     {
if(this._currentframe == 1){
        this.startDrag();
    }
}
);

    this["content_mc.matching_desc_"+i].addEventListener(MouseEvent.MOUSE_UP,function():void {
stage.addEventListener(MouseEvent.MOUSE_UP, doMouseUp, false, 0, true);     
}
);
}

function doMouseUp($evt:MouseEvent):void
{
this.stopDrag();
}

var winGame = false;
var alphaSpeed = 20;
var mouseListener:Object = new Object();
mouseListener.onMouseDown = function () { this.isDown = true;};
mouseListener.onMouseUp = function () {
this.isDown = false;
//Game Logic Check Correct
for(var k=1; k<=5; k++){
    //term match description
    if(this["content_mc.matching_desc_"+k].mc._currentframe == 2 &&     this["content_mc.matching_term_"+k].mc._currentframe == 2){
        if(this["content_mc.matching_term_"+k]._currentframe == 1){
            this["content_mc.matching_term_"+k].gotoAndPlay(2);
            this["content_mc.matching_desc_"+k].gotoAndPlay(2);
        }
    }
    //description match term
    else if(this["content_mc.matching_desc_"+k].mc._currentframe == 2 && this["content_mc.matching_term_"+k].mc._currentframe == 2){
        if(this["content_mc.matching_desc_"+k]._currentframe == 1){
            this["content_mc.matching_term_"+k].gotoAndPlay(2);
            this["content_mc.matching_desc_"+k].gotoAndPlay(2);
        }
    }
}

};
this.Mouse.addListener(mouseListener);

this.addEventListener(Event.ENTER_FRAME,myFunction);
function myFunction(event:Event) {
//display terms at start
if(content_mc.matching_term_1._alpha < 100){
    content_mc.matching_term_1._alpha +=alphaSpeed;
}
if(content_mc.matching_term_1._alpha >= 100){
    if(content_mc.matching_term_2._alpha < 100){
        content_mc.matching_term_2._alpha +=alphaSpeed;
    }
}
if(content_mc.matching_term_2._alpha >= 100){
    if(content_mc.matching_term_3._alpha < 100){
        content_mc.matching_term_3._alpha +=alphaSpeed;
    }
}
if(content_mc.matching_term_3._alpha >= 100){
    if(content_mc.matching_term_4._alpha < 100){
        content_mc.matching_term_4._alpha +=alphaSpeed;
    }
}
if(content_mc.matching_term_4._alpha >= 100){
    if(content_mc.matching_term_5._alpha < 100){
        content_mc.matching_term_5._alpha +=alphaSpeed;
    }
}
//display description at start
if(content_mc.matching_term_5._alpha >= 100){
    if(content_mc.matching_desc_1._alpha < 100){
        content_mc.matching_desc_1._alpha +=alphaSpeed;
    }
    if(content_mc.matching_desc_1._alpha >= 100){
        if(content_mc.matching_desc_2._alpha < 100){
            content_mc.matching_desc_2._alpha +=alphaSpeed;
        }
    }
    if(content_mc.matching_desc_2._alpha >= 100){
        if(content_mc.matching_desc_3._alpha < 100){
            content_mc.matching_desc_3._alpha +=alphaSpeed;
        }
    }
    if(content_mc.matching_desc_3._alpha >= 100){
        if(content_mc.matching_desc_4._alpha < 100){
            content_mc.matching_desc_4._alpha +=alphaSpeed;
        }
    }
    if(content_mc.matching_desc_4._alpha >= 100){
        if(content_mc.matching_desc_5._alpha < 100){
            content_mc.matching_desc_5._alpha +=alphaSpeed;
        }
    }
    /*if(content_mc.matching_desc_5._alpha >= 100){
        delete this.onEnterFrame;
    }*/
}

//Roll over effect
for(var i=1; i<=5; i++){
    if(this["content_mc.matching_term_"+i].hitTest(mouseX, mouseY)){
        this["content_mc.matching_term_"+i].mc.gotoAndStop(2);
    }
    else{
        this["content_mc.matching_term_"+i].mc.gotoAndStop(1);
    }
    if(this["content_mc.matching_desc_"+i].hitTest(mouseX, mouseY)){
        this["content_mc.matching_desc_"+i].mc.gotoAndStop(2);
    }
    else{
        this["content_mc.matching_desc_"+i].mc.gotoAndStop(1);
    }
}

//remove the matched movieclips
for(var a=1; a<=5; a++){
    if(this["content_mc.matching_term_"+a]._currentframe == 10){
        this["content_mc.matching_term_"+a]._y = -1000;
    }
    if(this["content_mc.matching_desc_"+a]._currentframe == 10){
        this["content_mc.matching_desc_"+a]._y = -1000;
    }
}

//Win Game
for(var n=1; n<=5; n++){
    if(this["content_mc.matching_desc_"+n]._currentframe == 10){
        winGame = true;
    }
    else{
        winGame = false;
        return;
    }
}
if(winGame == true){
    this.gotoAndPlay("endRound1");
}
}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Of course, question is not professional and nobody wants to do such uninteresting work for you. You have to read some articles for migrating from as2 to as3. I did your work, because it's easy and I had time, hope it will help and you will do it yourself next time.

stop();
var randomPositionFrame = int(Math.random()*9)+1;
content_mc.gotoAndStop(randomPositionFrame);
for(var i=1; i<=5; i++){
content_mc["matching_term_"+i].alpha = 0;
content_mc["matching_term_"+i].addEventListener(MouseEvent.MOUSE_DOWN,function(e:MouseEvent):void     {
if(content_mc.currentFrame == 1){
        e.target.startDrag();
    }
}
);
content_mc["matching_term_"+i].addEventListener(MouseEvent.MOUSE_UP,function(e:MouseEvent):void {
    stage.addEventListener(MouseEvent.MOUSE_UP, doMouseUp, false, 0,     true);
});

content_mc["matching_desc_"+i].alpha = 0;
content_mc["matching_desc_"+i].addEventListener(MouseEvent.MOUSE_DOWN,function(e:MouseEvent):void     {
if(content_mc.currentFrame == 1){
        e.target.startDrag();
    }
}
);

content_mc["matching_desc_"+i].addEventListener(MouseEvent.MOUSE_UP,function(e:MouseEvent):void {
stage.addEventListener(MouseEvent.MOUSE_UP, doMouseUp, false, 0, true);     
}
);
}

function doMouseUp(e:MouseEvent):void
{
e.target.stopDrag();
}

var winGame = false;
var alphaSpeed = 20;

addEventListener(MouseEvent.MOUSE_DOWN, function (e:MouseEvent) { this.isDown = true;});
addEventListener(MouseEvent.MOUSE_UP, function (e:MouseEvent) { this.isDown = false;});

//Game Logic Check Correct
for(var k=1; k<=5; k++){
    //term match description
    if(content_mc["matching_desc_"+k].mc.currentFrame == 2 &&     content_mc["matching_term_"+k].mc.currentFrame == 2){
        if(content_mc["matching_term_"+k].currentFrame == 1){
            content_mc["matching_term_"+k].gotoAndPlay(2);
            content_mc["matching_desc_"+k].gotoAndPlay(2);
        }
    }
    //description match term
    else if(content_mc["matching_desc_"+k].mc.currentFrame == 2 && content_mc["matching_term_"+k].mc.currentFrame == 2){
        if(content_mc["matching_desc_"+k].currentFrame == 1){
            content_mc["matching_term_"+k].gotoAndPlay(2);
            content_mc["matching_desc_"+k].gotoAndPlay(2);
        }
    }
}

this.addEventListener(Event.ENTER_FRAME,myFunction);
function myFunction(event:Event) {
//display terms at start
if(content_mc.matching_term_1.alpha < 100){
    content_mc.matching_term_1.alpha +=alphaSpeed;
}
if(content_mc.matching_term_1.alpha >= 100){
    if(content_mc.matching_term_2.alpha < 100){
        content_mc.matching_term_2.alpha +=alphaSpeed;
    }
}
if(content_mc.matching_term_2.alpha >= 100){
    if(content_mc.matching_term_3.alpha < 100){
        content_mc.matching_term_3.alpha +=alphaSpeed;
    }
}
if(content_mc.matching_term_3.alpha >= 100){
    if(content_mc.matching_term_4.alpha < 100){
        content_mc.matching_term_4.alpha +=alphaSpeed;
    }
}
if(content_mc.matching_term_4.alpha >= 100){
    if(content_mc.matching_term_5.alpha < 100){
        content_mc.matching_term_5.alpha +=alphaSpeed;
    }
}
//display description at start
if(content_mc.matching_term_5.alpha >= 100){
    if(content_mc.matching_desc_1.alpha < 100){
        content_mc.matching_desc_1.alpha +=alphaSpeed;
    }
    if(content_mc.matching_desc_1.alpha >= 100){
        if(content_mc.matching_desc_2.alpha < 100){
            content_mc.matching_desc_2.alpha +=alphaSpeed;
        }
    }
    if(content_mc.matching_desc_2.alpha >= 100){
        if(content_mc.matching_desc_3.alpha < 100){
            content_mc.matching_desc_3.alpha +=alphaSpeed;
        }
    }
    if(content_mc.matching_desc_3.alpha >= 100){
        if(content_mc.matching_desc_4.alpha < 100){
            content_mc.matching_desc_4.alpha +=alphaSpeed;
        }
    }
    if(content_mc.matching_desc_4.alpha >= 100){
        if(content_mc.matching_desc_5.alpha < 100){
            content_mc.matching_desc_5.alpha +=alphaSpeed;
        }
    }
    /*if(content_mc.matching_desc_5.alpha >= 100){
        delete this.onEnterFrame;
    }*/
}

//Roll over effect
for(var i=1; i<=5; i++){
    if(content_mc["matching_term_"+i].hitTestPoint(mouseX, mouseY)){
        content_mc["matching_term_"+i].mc.gotoAndStop(2);
    }
    else{
        content_mc["matching_term_"+i].mc.gotoAndStop(1);
    }
    if(content_mc["matching_desc_"+i].hitTestPoint(mouseX, mouseY)){
        content_mc["matching_desc_"+i].mc.gotoAndStop(2);
    }
    else{
        content_mc["matching_desc_"+i].mc.gotoAndStop(1);
    }
}

//remove the matched movieclips
for(var a=1; a<=5; a++){
    if(content_mc["matching_term_"+a].currentFrame == 10){
        content_mc["matching_term_"+a].y = -1000;
    }
    if(content_mc["matching_desc_"+a].currentFrame == 10){
        content_mc["matching_desc_"+a].y = -1000;
    }
}

//Win Game
for(var n=1; n<=5; n++){
    if(content_mc["matching_desc_"+n].currentFrame == 10){
        winGame = true;
    }
    else{
        winGame = false;
        return;
    }
}
if(winGame == true){
    this.gotoAndPlay("endRound1");
}
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...