HTML5テクニカルノート EaselJS 0.8.0:
|
ID: FN1504001 | Technique: HTML5 and JavaScript | Library: EaselJS 0.8.0 |
Flash Professional CCは、MovieClipインスタンスをCreateJS向けにパブリッシュできます(図001)。ただし、EaselJS 0.8.0のMovieClipクラスには、合計フレーム数を参照するプロパティがありません[*1]。けれど、その数値を得ることはできます。
Flash Professional CC can publish MovieClip instances for CreateJS (Figure 001). Unfortunately the MovieClip class in the EaselJS 0.8.0 has no property referencing its total frames[*1]. But its number could be objained.
図001■Flash Professional CCのムービークリップシンボル
Figure 001•A MovieClip symbol in Flash Professional CC
[*1] EaselJS 0.8.1でプロパティMovieClip.durationとMovieClip.totalFramesが備わり、その値が得られるようになりました(「EaselJS 0.8.1: MovieClipオブジェクトの再生の長さ・フレーム数を調べる」参照)。 EaselJS 0.8.1 implemented the MovieClip.duration and MovieClip.totalFrames properties to get number. |
EaselJSのMovieClipクラスには、MovieClip.currentFrameプロパティが備わっています。けれども、その総フレーム数を示すプロパティがありません。それでも、総フレーム数はつぎのようにして得られます。
MovieClipオブジェクト.timeline.duration
The MovieClip class in the EaselJS implements the MovieClip.currentFrame property. But the property refering the number of its total frames does not exist in the class. The number could be get from the following way:
MovieClip_object.timeline.duration
もっとも、この参照の仕方は公式のドキュメントから調べるのは少しむずかしいといえます。そこで、本ノートが少し説明を補います。
This way of reference is a little hard to find out from the official document. Therefore, this note provide additional information.
パブリッシュするとき、Flash Pro CCは内部的にMovieClipインスタンスごとにTimelineオブジェクトをつくって、それぞれのMovieClip.timelineプロパティに割当てます。TimelineオブジェクトはTweenクラスで扱われます。そのため、TimelineクラスはTweenJSモジュールに属しています。
When publishing a FLA file, Flash Pro CC internally generates Timeline objects for each MovieClip instance and assigns them to their MovieClip.timeline properties. Timeline objects are dealed by the Tween class. Therefore, the Timeline class belongs to the TweenJS module.
Timeline.durationプロパティはTimelineオブジェクトの長さ(尺)を表します。ただし、単位はuseTicksパラメータの定めにより、ミリ秒またはtickのいずれかです。
The Timeline.duration property represents the total duration of this timeline. However, its unit is milliseconds or ticks, depending on the useTicks parameter.
以下のMovieClipクラスの実装を見ると、MovieClip.timelineにはuseTicksオプションをtrueに定めたTimelineオブジェクトが与えられます。つまり、MovieClip.timelineプロパティは、Timeline.durationの単位としてtickを用いるということです。
In the implementation of the MovieClip class below, the MovieClip.timeline porperty is assigned a Timeline object created with true of the useTicks option. It means that the MovieClip.timeline porperty uses ticks as the unit of the Timeline.duration property.
function MovieClip(mode, startPosition, loop, labels) {
this.timeline =
new createjs.Timeline(null, labels, {paused: true, position: startPosition, useTicks: true});}
MovieClipオブジェクトはtickごとに1フレーム進みます。したがって、MovieClip.timeline.durationがMovieClipオブジェクトの総フレーム数を示すのです。
One tick makes a MovieClip object advance one frame. In conclusion, MovieClip.timeline.duration referes the number of total frames in a MovieClip object.
作成者: 野中文雄
変更日: 2015年6月1日 注[*1]を追加。
作成日: 2015年4月19日