スポンサーサイト
[AS3]Progression公式ガイドでのつまずきメモ&反省
主にFull Flashで使われるライブラリみたいです。
公式ガイドなるものがあったので、それを進めて学習していたんですが、
Flash画面遷移フレームワーク「Progression 4」公式ガイドの第3回クラススタイルのガイドで、
ムービープレビューしてもエラーが起きてしまって、先へ進めなくなりました。
Flash画面遷移フレームワーク「Progression 4」公式ガイド
「6.表示オブジェクトの設定」の箇所です。
最後、解決しました!
C:\~\progression\src\scenes\AmericanScene.asAmericanScene.as:25: 1046: 型が見つからないか、コンパイル時定数ではありません : CloseButton。
C:\~\pregression\src\scenes\AmericanScene.asAmericanScene.as:26: 1046: 型が見つからないか、コンパイル時定数ではありません : BackButton。
C:\~\pregression\src\scenes\AmericanScene.asAmericanScene.as:27: 1046: 型が見つからないか、コンパイル時定数ではありません : NextButton。
C:\~\pregression\src\scenes\AmericanScene.asAmericanScene.as:48: 1180: 未定義である可能性が高いメソッド CloseButton の呼び出しです。
C:\~\pregression\src\scenes\AmericanScene.asAmericanScene.as:52: 1180: 未定義である可能性が高いメソッド BackButton の呼び出しです。
C:\~\pregression\src\scenes\AmericanScene.asAmericanScene.as:56: 1180: 未定義である可能性が高いメソッド NextButton の呼び出しです。
▼該当行
25: public var closeButton:CloseButton;
26: public var backButton:BackButton;
27: public var nextButton:NextButton;
48: closeButton = new CloseButton();
52: backButton = new BackButton();
56: nextButton = new NextButton();
ってことは、「CloseButtonクラスとかが見当たらないですよ〜」ってエラーだからその辺を考える。
ガイドの説明では、flaファイルにシンボル化してあるなんちゃらって説明なので、
「CloseButton」はムービークリップのシンボル化した名前だと気づく。
flaファイルでシンボル化したムービークリップのリンケージ名が ui.CloseButton のようになっていたので、
パッケージを通す必要がありそうなので、uiをインポートしたらうまくいった。
公式ガイドのリスト10の記述漏れなのか自信がないので、ひっそりブログにメモしておきます。
▼importを追記
import ui.*;
または、
import ui.CloseButton
import ui.BackButton
import ui.Nextbutton
で解決したんですがっ、
先輩に質問したら別の解決方法がありました(^^;
とりあえず回避策&ボタンに機能を持たせることを考えると、
シンボル化されたリンケージと同じ名前のボタンクラスを作ればよいとのこと。バッチリ動きました!
ガイドの「2.ボタンの作成」のコーナーで説明されていたことだったので、もっと早く気づけばよかった(^^;
1/20追記
次の項目に進んでみたら、「7.ボタンの機能設定」で
fla ファイルのCloseButtonムービークリップのリンケージのクラス指定を
CloseButton → ui.CloseButton に変更するという指示が。
第2回のガイドでindex.flaをコピーして上書きしたが、index.flaではもともとui.CloseButtonでありました。
ということは、配布ファイルのミスなのかな。
最初はクラスをCloseButton、基本クラスがflash.display.MovieClipであったならば、
「6.表示オブジェクトの設定」のときもすんなりコンパイルできたんじゃないかと推考しました。
1/20追記の追記
さっき推考した案で動きました。
もう幾つか、「9.プリローダーの作成」項目で、Preloaderクラスに
import flash.text.TextFieldAutoSize;
をインポートしないといけませんでした。
また、flash.sampler.NewObjectSample はインポートしても見つからないのでこの行を除きました。
Progression初めて利用してみたけど、Full Flash構築するときにはすごく便利なライブラリだと思いました。
この公式ガイドの例も説明もとても分かりやすかったです。

