我正在做 Actionscript 2.0 到 3.0 的工作,但我对 3.0 的想法很少,请好心人帮忙翻译一下!我试图完成一个版本,但我的工作在更改代码后无法“拖放”。
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");
}
}
我已经像这样完成了 3.0:(但事实证明我无法进行拖放)
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");
}
}