サイトトップ

Director Flash 書籍 業務内容 プロフィール

HTML5テクニカルノート

EaselJS 0.8.0:
Flash Pro CCでパブリッシュしたMovieClipオブジェクトの総フレーム数を参照する

Refering the total frames in a MovieClip object published from Flash Pro CC

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のムービークリップシンボル
図001上
図001下
Figure 001•A MovieClip symbol in Flash Professional CC

[*1] EaselJS 0.8.1でプロパティMovieClip.durationMovieClip.totalFramesが備わり、その値が得られるようになりました(「EaselJS 0.8.1: MovieClipオブジェクトの再生の長さ・フレーム数を調べる」参照)。

EaselJS 0.8.1 implemented the MovieClip.duration and MovieClip.totalFrames properties to get number.


01 MovieClip.timeline.durationプロパティ
MovieClip.timeline.duration property

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.


02 MovieClip.timelineプロパティ
MovieClip.timeline property

パブリッシュするとき、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.


03 Timeline.durationプロパティ
Timeline.duration property

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日


Copyright © 2001-2015 Fumio Nonaka.  All rights reserved.