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