0

フラッシュ カレンダーを作成していますが、これは学年用であるため、最初のフレームは今年の 8 月で、最後のフレームは翌年の 7 月です。このように、8 月はフレーム 1、9 月はフレーム 2、7 月のフレーム 12 までです。そうは言っても、現在の月のフレームでカレンダーを開始するコードを書きました。したがって、.getMonth()8 月の からの戻り値は 7 になり、6 を引いてフレーム 1 または 8 月に等しくなります。

すべて正常に動作しますが、何らかの理由で 12 月に行き詰まります。12 月以降 (つまり 1 月から 7 月) は、12 月にオープンします。これは、trace()開始すべき正しいフレーム番号を表示しているにもかかわらず行われます。

私が見逃しているものはありますか、それとも単に間違っていますか?

stop()
//Start at current month
var done:Boolean;
if (!done) {
    //Code in here only runs once
    var date:Date = new Date();
    var which_month:int = date.getMonth();

    if(which_month < 6) {
        gotoAndStop((which_month + 6));
        trace((which_month + 6));
    } else {
        gotoAndStop((which_month - 6));
    }

    done=true;
}
4

3 に答える 3

4

このようにしてみてください:

stop();

var done:Boolean;

if (!done) {
    var date:Date = new Date();
    gotoAndStop(((date.getMonth()+6)%12) + 1);
    done=true;
}
于 2013-07-09T18:53:29.043 に答える