現在、AS3 と Greensock の TimelineMax を使用して、Flash CS5 でカスタマイズ アプリを作成しています。
ナビゲーションは、TimeLineMax を使用してタイムラインのラベルにジャンプし、適切な MC でアルファを使用するSnorkl.TV Bulletproof ポートフォリオに基づいています。すべての MC [Garment_mc,Size_mc,Design_mc,Ink_mc,Options_mc,Checkout_mc] はすべてステージ上の同じスペースの別々のレイヤーにあり、ボタンをクリックすると x:-100 からトゥイーンします。
これは、SWF が最上位レイヤーに公開され、その MC が他の MC をカバーし、下位の MC に移動すると、それらが alpha:0 MC の下に表示されるため、最上位 MC のボタン/機能は引き続きクリック可能であることを意味します。前の選択に影響を与えます (衣服を選択し、次のセクションを選択し、その MC で何かをクリックすると、最上位の MC に登録されます)。
NavClick 関数に次のようなものを含める必要があります... setChildIndex(targetSection + "_mc", 0) しかし、1067: Implicit coercion エラーが発生しています。
誰でも理由について提案できますか? それともここからどうすればいいですか?最終提出日に向かって急いでいるので、どんな助けも素晴らしいです、ありがとう!!
ナイゲーションコード。
// all the section clips are fully visible on the stage
//we don't want to see them when the swf starts
//set up an array of section clips so that we can start them all with alpha=0;
var Panel_clips = [Garment_mc,Size_mc,Design_mc,Ink_mc,Options_mc,Checkout_mc];
for (var j:Number = 0; j < Panel_clips.length; j++)
{
Panel_clips[j].alpha = 0;
}
////
var tl:TimelineMax = new TimelineMax({});
tl.timeScale = 1;
tl.addLabel("Garment_in", tl.duration);
tl.append(TweenMax.to(Garment_mc, 0, {alpha:1, immediateRender:false}));
tl.append(TweenMax.from(Garment_mc, .5, {x:-100, y:0, ease:Quart.easeOut}));
tl.addLabel("Garment_complete", tl.duration);
tl.append(TweenMax.to(Garment_mc, .5, {alpha:0}));
tl.addLabel("Size_in", tl.duration);
tl.append(TweenMax.to(Size_mc, 0, {alpha:1, immediateRender:false}));
tl.append(TweenMax.from(Size_mc, .5, {x:-100, y:0, ease:Quart.easeOut}));
tl.addLabel("Size_complete", tl.duration);
tl.append(TweenMax.to(Size_mc, .5, {alpha:0}));
tl.addLabel("Design_in", tl.duration);
tl.append(TweenMax.to(Design_mc, 0, {alpha:1, immediateRender:false}));
tl.append(TweenMax.from(Design_mc, .5, {x:-100, y:0, ease:Quart.easeOut}));
tl.addLabel("Design_complete", tl.duration);
tl.append(TweenMax.to(Design_mc, .5, {alpha:0}));
tl.addLabel("Ink_in", tl.duration);
tl.append(TweenMax.to(Ink_mc, 0, {alpha:1, immediateRender:false}));
tl.append(TweenMax.from(Ink_mc, .5, {x:-100, y:0, ease:Quart.easeOut}));
tl.addLabel("Ink_complete", tl.duration);
tl.append(TweenMax.to(Ink_mc, .5, {alpha:0}));
tl.addLabel("Options_in", tl.duration);
tl.append(TweenMax.to(Options_mc, 0, {alpha:1, immediateRender:false}));
tl.append(TweenMax.from(Options_mc, .5, {x:-100, y:0, ease:Quart.easeOut}));
tl.addLabel("Options_complete", tl.duration);
tl.append(TweenMax.to(Options_mc, .5, {alpha:0}));
tl.addLabel("Checkout_in", tl.duration);
tl.append(TweenMax.to(Checkout_mc, 0, {alpha:1, immediateRender:false}));
tl.append(TweenMax.from(Checkout_mc, .5, {x:-100, y:0, ease:Quart.easeOut}));
tl.addLabel("Checkout_complete", tl.duration);
tl.append(TweenMax.to(Checkout_mc, .5, {alpha:0}));
//SET UP THE NAV
NavMc.addEventListener(MouseEvent.MOUSE_OVER, navOver);
NavMc.addEventListener(MouseEvent.MOUSE_OUT, navOut);
NavMc.addEventListener(MouseEvent.CLICK, navClick);
NavMc.buttonMode = true;
NavMc.GarmentBtn.ID = "Garment";
NavMc.SizeBtn.ID = "Size";
NavMc.DesignBtn.ID = "Design";
NavMc.InkBtn.ID = "Ink";
NavMc.OptionBtn.ID = "Options";
NavMc.CheckBtn.ID = "Checkout";
function navOver(e:MouseEvent):void
{
//TweenMax.to(e.target, .5, {tint:0x00CCFF});
e.target.nextFrame();
//e.target.GotoAndStop(e.target.NextFrame);
//trace("Rolled");
}
function navOut(e:MouseEvent):void
{
//TweenMax.to(e.target, .5, {tint:null});
//trace(e.target.ID);
e.target.gotoAndPlay(1);
}
function navClick(e:MouseEvent):void
{
trace(e.target.ID);
targetSection = e.target.ID;
if (targetSection != currentSection)
{
e.target.gotoAndPlay(2);
--> ?? //setChildIndex(targetSection + "_mc", 0) <--------??????
tl.tweenFromTo(targetSection + "_in", targetSection + "_complete");
currentSection = targetSection;
}else{
trace("you are already at " + currentSection);
}
}
//play through to home1_complete automatically on first run
tl.tweenTo("Garment_complete");
//