2011-05-23 118 views
0

SO,它已經有一段時間,因爲我做的ActionScript 3再次,一直忙於大多與iOS編程..動態滑動面板

不管怎麼說,我試圖創建一個滑動的面板。

到目前爲止,他們的工作,但我有一些麻煩,而我所嘗試的一切都不做我想要的嘿嘿。

面板工作,我在for循環中生成其中5個,他們幻燈片打開和關閉時單擊使用綠色環保。

但是,他們都有一個標籤,需要滑動標籤而不是保持在同一位置。 另外,我有一個if/else來檢查面板是否打開,但我想單獨檢查而不是整體。

完整的代碼是:

import com.greensock.TweenLite; 
import flash.geom.ColorTransform; 
import flash.text.engine.TabStop; 
import flash.events.Event; 
import flash.text.TextField; 
import flash.text.TextFormat; 

// Define shizz 
var _tabs:mainTab; 
var stageW = 950; 
var stageH = 550; 
var isOpen:Boolean = false; 

function init() { 
trace("initialize"); 
var colorArr:Array = [0x00b2c1, 0xdf007a, 0xf39b24, 0xeb690b, 0xa1c438, 0xd5d931]; 
var titleArr:Array = ["papier", "kunststof", "glas", "hout", "metaal", "batterijen"]; 

for (var i:Number = 0; i < 6; i++) { 
    _tabs = new mainTab(); 
    _tabs.x = 91+_tabs.width*i; 
    _tabs.y = -160; 
    _tabs.slide_mc.title_mc.text = titleArr[i]; 
    _tabs.slide_mc.title_mc.mouseEnabled = false; 
    var newColor:ColorTransform = _tabs.slide_mc.box_mc.transform.colorTransform; 
    newColor.color = colorArr[i]; 
    _tabs.slide_mc.box_mc.transform.colorTransform = newColor; 
    _tabs.slide_mc.box_mc.addEventListener(MouseEvent.CLICK, doSomething); 
    this.addChild(_tabs); 
} 
} 

function doSomething(e:Event):void { 
var clickMC = e.target; 

if (isOpen) { 
    trace("is Open"); 
    var dropTab:TweenLite = new TweenLite(clickMC, 0.5, {y: -8}); 
    dropTab.play(); 
    isOpen = !isOpen; 
} else { 
    trace("is Closed, Text is:"); 
    var dropTab2:TweenLite = new TweenLite(clickMC, 0.5, {y: 177}); 
    dropTab2.play(); 
    isOpen = !isOpen; 
} 

} 

init(); 

這裏是file

那麼我需要什麼幫助? - 如何讓滑動面板中的標題與面板本身一起製作動畫。 - 一種檢查當前點擊面板是否打開的方法(單獨檢查)。

在此先感謝!

回答

0

看起來像_tabs.slide_mc.title_mc.text = titleArr[i];導致文本用滑塊拖動。您需要將title_mc插入其他剪輯