2017-05-22 7 views
1

Ich habe versucht, Karten zu meinen Benutzern zu bewegen, sie sind drei Mitglieder hier habe ich neun Karten hier meinen Code unter. Ich habe Tweetenlite verwendet, um zuerst drei Karten bewegt dann erfolgreich verschoben Rest der Karten wie kann ich zu Benutzern bewegen .Tweenlite in mehreren Objekten

import com.greensock.*; 
import com.greensock.easing.*; 
import flash.events.MouseEvent; 

click_mc.addEventListener(MouseEvent.CLICK, UserOne); 



function UserOne(evt:MouseEvent):void 
{ 

    TweenMax.to(joker_mc, .5, { x:598.25, y:164.45 , onComplete:UserTwo});  
} 

function UserTwo():void 
{ 
    TweenLite.to(king_mc, .5, { x:316.50, y:267.90, onComplete:UserThree}); 

} 

function UserThree():void 
{ 
    TweenLite.to(queen_mc, .5, { x:39, y:172}); 

} 

Wer weiß, bitte erstelle dies.

Antwort

2

Sie müssen keinen separaten Code für jede der Karten erstellen, sie sind alle gleich. Erstellen Sie ein Array mit Karte + x + y Einträge, und arbeiten Sie mit den Einträgen.

import com.greensock.*; 
import com.greensock.easing.*; 
import flash.events.MouseEvent; 

var currentEntry:int = -1; 
var aList:Array = 
[ 
    {card:joker_mc, x:598.25, y:164.45}, 
    {card:king_mc, x:316.50, y:267.90}, 
    {card:queen_mc, x:39, y:172}, 

    // ... 
    // and so on 
]; 

click_mc.addEventListener(MouseEvent.CLICK, onClick); 

function onClick(e:MouseEvent):void 
{ 
    // Unsubscribe to avoid the mess with second click. 
    click_mc.removeEventListener(MouseEvent.CLICK, onClick); 

    // Start process. 
    moveNext(); 
} 

function moveNext():void 
{ 
    currentEntry++; 

    // Stop the process if all the cards have been moved. 
    if (currentEntry >= aList.length) return; 

    // Get the entry. 
    var anEntry:Object = aList[currentEntry]; 

    // Move the card. 
    TweenLite.to(anEntry['card'], .5, {x:anEntry['x'], y:anEntry['y'], onComplete:moveNext}); 
} 
+0

Wirklich sehr vielen Dank dafür funktioniert es schön –

+0

Große Antwort Organis. Wie wäre es mit TimeLineLite (https://greensock.com/timelinelite-as) in diesem Fall? Es ist wahrscheinlich das Beste, was man zum Sequenzieren von Animationen verwenden kann. Prost. –

+0

@GurtejSingh Keine Ahnung, tut mir leid. Ich habe meine eigenen Tweening- und Szenariowiedergabeklassen, also kümmere ich mich nicht um Frameworks von Drittanbietern. – Organis

Verwandte Themen