SIHOのプログラミングわーくワク

興味の赴くままに勉強してたら、読み書きできる言語は9個になりました。他にもいくつか気になる言語があったりなかったり?  まだまだ続く、楽しいお仕事わーくワク♪

  • « 
  • 10 
  • 11 
  • 12 
  • 13 
  • 14 
  • 15 
  • 16 
  • 17 
  • 18 
  • 19 
  • 20 
  • 21 
  • 22 
  • 23 
  • 24 
  • 25 
  • 26 
  • 27 
  • 28 
  • 29 
  • 30 
  • »

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

コンポーネントのボタンを使ったインスタンスはstageに出したままにする

2009.09.28 (Mon)

いやー。もう、ほんとはまりました。
知っていれば当たり前のことかもしれないけど、知らないと本気でわかんないのでメモ。

ナビゲーションに使用するボタンなのですが、indexページと他のページ(indexに戻るだけのボタン)では、デザインや配置が全く異なるため、indexページ用(indexPage)と、それ以外(rightBtn)で別にキャストをつくりました。
そして、indexページ用はindexのキャストaddやremoveするときに一緒に表示/非表示してました。
↓こんな感じ。

// シーン移動時に目的地がシーンオブジェクト自身もしくは子階層だった場合に、階層が変更された直後に送出されます。
manager.root.onSceneLoad = function():void {
this.addCommand(
new AddChildAt(container, rightBtn, 700)
);
};

// シーンオブジェクト自身が目的地だった場合に、到達した瞬間に送出されます。
manager.root.onSceneInit = function():void {
this.addCommand(
new AddChildAt(container, indexPage, 300),
new AddChildAt(container, bgAnime, 0)
);
};

// シーンオブジェクト自身が出発地だった場合に、移動を開始した瞬間に送出されます。
manager.root.onSceneGoto = function():void {
this.addCommand(
new RemoveChild(container, indexPage),
new RemoveChild(container, bgAnime)
);
};



でも、これだと、次のようなエラーがでてコンポーネントの設定がダメな感じしか分からないわけですよ。

TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。
at jp.progression.ui::ToolTip/_rollOut()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()


一つ一つ、検証していってたどり着いたのが、「全部出しっぱなしにすること」という答え。(いえ、もっとスマートなやり方があるのかもしれないけどね……)

more »

スポンサーサイト

rootに戻るときのボタンラベル

2009.09.26 (Sat)

RoolOverButtonとRootButtonで使用するラベル位置は「contain, up」「contain, over」「contain, down」であった。
ラベルは「neutral, up」「neutral, over」「neutral, down」だけにしてあったので、indexに戻る機能のボタンだけグラフィックのイメージが正しく表示されない(「neutral, down」の最後のフレームのグラフィックのままマウスイベントに反応しない)ので検証したところ、上記のような結果となりました。
気をつけよう!<自分。

Prog4でrootのタイムラインにある変数にアクセスする(その2)

2009.09.26 (Sat)

「Prog4でrootのタイムラインにある変数にアクセスする(その1)」は、rootのcontainerに直接addChildしたキャストからアクセスするときのもの。
rootのcontainerにaddSceneした中のキャストからアクセスするときは呼び方が変わります。

シーンと表示オブジェクトは関連性を持たない (参照元)


そうなので、前述の記事で示したような、自分自身からのパスをたどる方法ではアクセスできませんでした。
そのため、ProgressionオブジェクトのシーンIDの参照からアクセスするようにしています。

※動作はProgression 4.0.1 Public Beta 1.1 で試しています。

■rootのcontainerにaddSceneした中のキャストのタイムラインからrootにある変数にアクセスします。

more »

Prog4で別のタイムラインからrootのキャストを表示・非表示

2009.09.25 (Fri)

もはや、Progression4での話なのかなんなのか分かりませんが、addChildするとcontainerにうまく格納できていないのか、シーンの切り替えのときに正しく表示されたり消えたりしませんのよ。(前の記事参照
まぁ、きっとやり方が悪いのでしょう。

でも、そこにこだわっていると先に進めないので、今度はプロパティのvisibleを使って、表示・非表示の切り替えで実装しようと思います。

このばあい、rootのタイムラインにあるスクリプトも多少改変が必要なり。
「functuion_complete」の中で作っている、表示/非表示を切り替えたいMovieClipさんを「functuion_complete」の外で宣言するように変更します。

more »

Prog4で別のタイムラインからrootのcontainerにキャストaddする・removeする

2009.09.25 (Fri)

前回はProg3での検証でした。
また、rootのタイムラインの「functuion_complere」の外からindexシーンにあるキャストを削除できないかというトライでした。

今回は一歩進んで、別のタイムライン(当然「functuion_complete」の外側になる)から、rootのcontainerにあるキャストを追加したり削除したりします。

■rootのcontainerにaddChildした、キャストのタイムラインからrootのcontainerのキャストを追加・削除する。

more »

Prog4でrootのタイムラインにある変数にアクセスする(その1)

2009.09.25 (Fri)

前に検証したときは、Progressionを使わない状態でのもの。
Progressionを使うときは、変数名も宣言しないと通らなかったので、ほとんど一緒だけど、一応メモ。
※動作はProgression 4.0.1 Public Beta 1.1 で試しています。

■関連記事
「Prog4でrootのタイムラインにある変数にアクセスする(その2)」

■rootのcontainerに直接addChildしたキャストのタイムラインからrootにある変数にアクセスします。

more »

Progression4での断続的なインデックス指定について

2009.09.24 (Thu)

「Progression3のActionScriptをProgression4に書き換える (解決編)」にて「できなくなっちゃった!」と思っていた、断続的な(「0、100、500、900」みたいな)インデックス指定ですが、できる方法を恐れ多くも開発者様よりご教示いただいたので、そちらで書き直したコード掲載しておきます。
きっとあとで、参考になるでしょう。

■追加箇所
var container:CastMovieClip;
addChild( container = new CastMovieClip() );

■修正箇所
new AddChildAt(this.container, indexPage,1)
  ↓
new AddChildAt(container, indexPage,100)

more »

クラススタイルを勉強するときに参考になるサイト

2009.09.24 (Thu)

Progression 学習ノート>「クラススタイルでの制作 Archive」
http://www.d-improvement.jp/learning/progression/class/

「【Progression4入門】AddChildの第1引数について」
http://d.hatena.ne.jp/ActionScript/20090920/progression4_addchild

「[小ネタ] Progression 4 でハマりやすいポイント」
http://blog.progression.jp/archives/1294

Progression3のActionScriptをProgression4に書き換える (解決編)

2009.09.19 (Sat)

何とかAddChildの指定方法が分かったので、核になるコードを書き直してみました。
いくつもキャストを使っているので、「AddChildAt」を用いていました。
Progression 4 では、AS3の仕様と同じになった感じで、対象のコンテナに追加されるオブジェクトの数分しかindex番号を指定できなくなりました。
なので、「あとで入れるかもー?」とおもって「900」とか指定していた箇所でエラーを出していました。

manager.root.onSceneInit = function():void {
 // 実行したいコマンドを登録します。
 this.addCommand(
  new AddChildAt(this.container, indexPage,1),
  new AddChildAt(this.container, bgAnime,0)
 );
};

その点を注意して、書き直しました。
ちなみに、「onSceneLoad」で0にAddしたものと「onSceneInit」で「0」にAddしたものでは、「onSceneLoad」のもののほうが手前に表示されました。
この辺の仕組みは良く分からないなぁ。

more »

Progression4ではAddChildやAddChildAtの書き方が違う模様(解決編)

2009.09.19 (Sat)

Progression3のActionScriptをProgression4に書き換えると最初にぶつかるのが、 「未定義である可能性が高いプロパティ continar....(省略)」というエラー。(詳細はこちらの記事を参照してください

これは、Progression4からの仕様変更で↓だそう。(開発者からのお言葉)

container は SceneObject のプロパティなので、container だけだとドキュメントクラスのプロパティを見に行っちゃうから



というわけでAddChild()は次のように書けばよいそうですー。
※前の記事で試行錯誤していた、第三引数の問題ではなく、第一引数の問題でした。

new AddChild( manager.root.container, indexPage )
new AddChild( this.container, indexPage )
new AddChild( stage, indexPage )//これでもいけました。

RemoveChild(manager.root.container, indexPage )
#RemoveChildAt()はまだ試していないので、試してから追記します。
RemoveChildAt(containerRefOrId:*, index:int, initObject:Object = null)

more »

 | HOME |  »

プロフィール

siho_prof

SIHO
しほ

Twitter:
SIHO_o

viva mambo, inc.
iPhone&iPad / Flash / Kinect
使用言語:Objective-C, ActionScript 3.0, Javascript, Lua, PHP, C#, C, C++, WSH。
F-site staff

Solar System Simulator 広報

Web,スマートフォン、Desktopを問わず、アプリ制作が好物。執筆は必要に応じて。お仕事くださいまし。

サイネージ:ガンダムフロント東京・キャラクターフォトスポット設計(2012/4~常設)

アトラクション:富士急ハイランド 戦国BASARA ゲーム設計&プログラミング(2010/7-2012/4にて常設展示)

イントラシステム:「某メーカー研究所KJ法システム」DB,Flash,PHPを含むソリューション設計&DB構築、「美術系専門学校の生徒管理システム」iPadクライアントを含むソリューション設計&DB構築

iPhone/iPadアプリ:某球団試合速報アプリ、『魂を熱くさせる 宇宙飛行士100の言葉』『Mitaka Gallery -てのひら宇宙-』

書籍同梱ソフト:『4次元デジタル宇宙紀行Mitaka』『DVD-ROM&図解 動く! 深海生物図鑑』『DVD-ROM&図解 ハッブル望遠鏡で見る宇宙の驚異』

著書:『世界一わかりやすい Windows 7』『世界一わかりやすい Flash CS3』

検索フォーム

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。