Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 在AS3中为链接对象对的多条线设置动画_Actionscript 3 - Fatal编程技术网

Actionscript 3 在AS3中为链接对象对的多条线设置动画

Actionscript 3 在AS3中为链接对象对的多条线设置动画,actionscript-3,Actionscript 3,我正在尝试组合一个匹配活动,其中一列中的单词通过一行链接到另一列中的定义。一旦所有单词都链接到了它们的定义,你就会得到一系列交叉线,所以我希望定义和它们的线移动,这样每个词都与它们连接的单词保持水平,并且这些线已经解开。我已经用一条线(作为精灵)将单词和它们的定义连接起来,然后可以用tweenlite移动定义——但我不知道如何用它们的定义移动这些线。下面是一段非常简化的代码,让您了解我正在尝试做什么 import com.greensock.*; import com.greensock.ea

我正在尝试组合一个匹配活动,其中一列中的单词通过一行链接到另一列中的定义。一旦所有单词都链接到了它们的定义,你就会得到一系列交叉线,所以我希望定义和它们的线移动,这样每个词都与它们连接的单词保持水平,并且这些线已经解开。我已经用一条线(作为精灵)将单词和它们的定义连接起来,然后可以用tweenlite移动定义——但我不知道如何用它们的定义移动这些线。下面是一段非常简化的代码,让您了解我正在尝试做什么

import com.greensock.*; 
import com.greensock.easing.*; 

var wordArray:Array = [word1, word2, word3, word4];
var definitionArray:Array = [definition1, definition2, definition3,definition4];

for (var i:int = 0; i < wordArray.length; i++){
var line:Sprite = new Sprite();
line.graphics.lineStyle(2,0x000000);
line.graphics.moveTo(wordArray[i].x, wordArray[i].y);
line.graphics.lineTo(definitionArray[i].x, definitionArray[i].y);   
this.addChild(line);
}

for (var j:int = 0; j < wordArray.length; j++){
    TweenLite.to(definitionArray[j], 2, {delay:1, y:wordArray[j].y});
}
import com.greensock.*;
导入com.greensock.com;
var wordArray:Array=[word1,word2,word3,word4];
变量定义数组:数组=[definition1,definition2,definition3,definition4];
for(变量i:int=0;i

我不熟悉这一点,因此非常感谢您对如何按照定义设置行动画的任何帮助。

感谢您的帮助,它让我开始了-错误发生是因为当onUpdate发生时,TweenLite需要知道传递给函数的参数的类型。我所做的是调用一个单独的函数并使用onUpdateParams:来指定传递的参数的性质。代码如下:

TweenLite.to(definitionArray[i], 3, {y:wordArray[j].y,onUpdate:refreshLines,
                onUpdateParams:[lines,wordArray,definitionArray]});
带函数

function refreshLines(param1:Array,param2:Array,param3:Array):void{
    for (var j:int = 0; j < param4.length; j++){
        param1[j].graphics.clear();
        }
    for (var i:int = 0; i < param4.length; i++)
        {
        param1[i].graphics.lineStyle(2,0x000000);
        param1[i].graphics.moveTo(param2[i].x, param2[i].y);
        param1[i].graphics.lineTo(param3[i].x, param3[i].y);
        }
     }   
函数刷新行(param1:Array,param2:Array,param3:Array):void{
对于(var j:int=0;j
再一次,非常感谢你为我指明了正确的方向,它为我节省了大量的时间