Actionscript 3 将起始帧设置为当前月份
我正在制作一个flash日历,但它是针对学年的,所以第一帧是今年的8月,最后一帧是明年的7月。这样,8月是第1帧,9月是第2帧,直到7月是第12帧。也就是说,我编写了一些代码,使日历从当前月份的框架开始。所以八月的Actionscript 3 将起始帧设置为当前月份,actionscript-3,flash,date,Actionscript 3,Flash,Date,我正在制作一个flash日历,但它是针对学年的,所以第一帧是今年的8月,最后一帧是明年的7月。这样,8月是第1帧,9月是第2帧,直到7月是第12帧。也就是说,我编写了一些代码,使日历从当前月份的框架开始。所以八月的.getMonth()返回值是7,然后减去6等于第1帧或八月 一切都很好,但由于某种原因,它在12月被卡住了。12月之后的任何月份(即1月至7月),它只在12月开放。即使我的trace()显示了正确的帧号,它也会这样做 是我遗漏了什么,还是我完全错了 stop() //Start at
.getMonth()
返回值是7,然后减去6等于第1帧或八月
一切都很好,但由于某种原因,它在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;
}
stop()
//从当月开始
var-done:布尔型;
如果(!完成){
//这里的代码只运行一次
变量日期:日期=新日期();
var which_month:int=date.getMonth();
如果(哪个月<6){
gotoAndStop((哪个月+6));
跟踪((哪个月+6));
}否则{
gotoAndStop((哪个月-6));
}
完成=正确;
}
这似乎很管用
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();
which_month -= 7;
if(which_month < 0)
{
which_month += 12;
}
gotoAndStop((which_month + 1));
done=true;
}
stop();
//从当月开始
var-done:布尔型;
如果(!完成){
//这里的代码只运行一次
变量日期:日期=新日期();
var which_month:int=date.getMonth();
哪个月-=7;
如果(哪个月<0)
{
哪个月+=12;
}
gotoAndStop((哪个月+1));
完成=正确;
}
数学可以简单一点,但我的大脑不喜欢把月份想象成零指数 试试这个:
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();
which_month += which_month > 7 ? -7 : 6
gotoAndStop(which_month);
done=true;
}
试着这样做:
stop();
var done:Boolean;
if (!done) {
var date:Date = new Date();
gotoAndStop(((date.getMonth()+6)%12) + 1);
done=true;
}
你的代码在哪里?它是一个单独的类还是这段代码在每一帧上?它在第一帧上,因为它只应该运行一次。我认为ZuzEL的答案比我的好得多。谢谢,但我认为loxxy使用%运算符得到了最好的结果,我在打印我的答案时没有得到它谢谢,由于所有的答案都解决了这个问题,尽管方式不同&小故障是第一个,OP做了正确的事情……:)。我尽量避免%和/或因为我听说它很贵,我应该重新考虑一下吗?所有的答案都是“对的”,我觉得既然这一个是第一个,我就应该选择它。此外,我也不喜欢以零指数形式思考月份。