初心者のFlash devはこちらです。私はステージ上の既存のMCの名前を新しい変数に渡してトゥイーンするのに少し問題があります。私は見つけることができるすべてを試しました。 ここにセットアップがあります:AS3 currentLabelを使用して既に名前の付いたMCを参照しています
3つのレベルの難易度:Easy、Moderate、Hard。各質問は図書館の別々のMCです。 各質問には、通常のテキストと変更されたテキストの2つの文字列があります。 container_MCにはすべての質問が含まれています。
container_MCの内側には、各フレームに質問MCの1つとハイライトという2番目のMCが含まれています。 これらのフレームのそれぞれは、質問の難易度と質問番号、すなわちeasyQuestion1でラベル付けされます。 ハイライトは、変更を囲むボックスを含むMCです。これは、フレーム+「ハイライト」、つまりeasyQuestion1Highlightと同じようにラベリングされます。 各ハイライトボックスはAlpha = 0です。 各フレームには、正解と問題の難易度を決定する変数も含まれています。 ステージ上のオブジェクトのどれもがaddChildで動的に追加されていません(私のイントロの初心者の部分に注意してください:D)。
私のmaintimelineには、container_MCのインスタンスが1つあります。プレーヤーが正しい回答を選択した場合、現在のフレームハイライトボックスはアルファ= 0からアルファ= 1に変わります。 私がしようとしているのは、MCの名前の一部としてframeLabelを渡すことです。ここでいくつかのコードを調べます。
import com.greensock.*
container_MC.addEventListener(Event.ENTER_FRAME,continueQuestions);
function continueQuestions(evt:Event){
evt.target.removeEventListener(Event.ENTER_FRAME,continueQuestions);
}
var myVar:String=(container_MC.currentLabel);//Trace returns easyQuestion1.
var myVar2:String=(myVar+"Highlight");//Trace returns easyQuestion1Highlight.
var highlightVar:MovieClip= MovieClip(container_MC.myVar2);//Trace returns null.
nextQuestion_btn.addEventListener(evt:MouseEvent.CLICK, nextQuestion);
function rightAnswer(e:Event):void{
tweenMax.to(highlightVar, 1, {autoAlpha:1});
}
function nextQuestion(e:Event):void{
tweenMax.to(highlightVar, .25, {autoAlpha:0});
container_MC.nextFrame();
}
実際のコードでは、nextQuestionには、プレーヤがどこに行くかを制御するif条件else ifのグループがあります。しかし、私たちの目的のためには、次のフレームのハイライトボックスで作業する必要があります。
パーフェクト!それはまさに私が必要としたものでした。あなたは学者と紳士です! – ersellix
ありがとう!これが問題を解決するなら、Plzを答えとしてマークしてください。 :) –