メイン ActionScript 3.0 特設会議室 画面にテキストが表示されない件(addChild辺り?) | 投稿するにはまず登録を |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
t_miyazaki | Åê¹ÆNo.33284 投稿日時: 2007-5-9 10:33 |
新米 居住地: 名古屋 投稿: 5
使用環境:
Pro 8.0 FlexBuilder2 XP Pro(SP2) |
Re: 画面にテキストが表示されない件(addChild辺り?) >野中さん
表示できました!ありがとうございます。 ProjectConsole の継承につきましてSpriteからUIComponentに変更したところテキストの表示が確認できました。 引用:
↓↓ 引用:
Flexでは、Spriteの継承で描画(表示)を行えない?ということでしょうか?(私のイメージではFlash9と同じ記述で使用出来ると思い込んでいたもので…) パッケージについてちゃんと理解出来ていないようなので、もう少し勉強してきます。 :追記 Flex Builder2でプロジェクト作成時に、「Flexプロジェクト」を選択した場合はextends UIComponentとしなければいけないみたいですね。。「ActionScriptプロジェクト」を選択すると、Flash9と同様にextends Spriteでも問題ありませんでした。 |
野中文雄 | Åê¹ÆNo.33275 投稿日時: 2007-5-8 18:49 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 画面にテキストが表示されない件(addChild辺り?) mxパッケージは、Flex専用ですよね。UIComponentをSpriteクラスに変更して動作するようなら、UIComponentクラスの実装を確認しなければならないと思います。
ところで、ProjectConsoleの継承をUIComponentクラスにすると、どうなるでしょう? 引用: t_miyazakiさんは書きました: |
t_miyazaki | Åê¹ÆNo.33273 投稿日時: 2007-5-8 16:54 |
新米 居住地: 名古屋 投稿: 5
使用環境:
Pro 8.0 FlexBuilder2 XP Pro(SP2) |
Re: 画面にテキストが表示されない件(addChild辺り?) >野中さん
Flash 9 Pubで試したところ、 this.addChild(projectConsoleObj); を追記たらテキストは表示されました。ディスプレイリストに含めていなかったのが問題だったようです。。。 同様にFlexのMXMLでも以下のように追記してみました。 public function buildConsole():void{ projectConsoleObj = new ProjectConsole(); this.addChild(projectConsoleObj);//追記 } 実行すると以下のようなエラーが出てしまいました。 TypeError: Error #1034: 強制型変換に失敗しました。assets.com.main::ProjectConsole@62d6be1 を mx.core.IUIComponent に変換できません。 このエラーについてFlex特有なのかはわかりませんが、 mx.core.UIComponentをimportして以下のように変更してみました。 public function buildConsole():void{ projectConsoleObj = new ProjectConsole(); var c:UIComponent = new UIComponent();//追記 c.addChild(projectConsoleObj);//追記 this.addChild(c);//追記 } こうするとエラーは表示されなくはなったのですが、何も表示されませんでした。。。 問題はUIComponent??の部分なのでしょうか? |
野中文雄 | Åê¹ÆNo.33272 投稿日時: 2007-5-8 15:16 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 画面にテキストが表示されない件(addChild辺り?) 手元にFlex環境がなくて試せないのですけど、ProjectConsoleインスタンスはディスプレイ(表示)リストに入っていますか?
引用: t_miyazakiさんは書きました: |
t_miyazaki | Åê¹ÆNo.33271 投稿日時: 2007-5-8 12:35 |
新米 居住地: 名古屋 投稿: 5
使用環境:
Pro 8.0 FlexBuilder2 XP Pro(SP2) |
画面にテキストが表示されない件(addChild辺り?) assets/com/main 以下にProjectConsoleクラスを作成して、MXML内よりnewしてテキストを表示させようとしているのですが、画面には何も表示されません。ProjectConsoleクラス内でtraceしてみたところ、[object TextField]と表示されているので、テキストの生成まではなされていると思います。addChild辺りの使用方法に問題があるのでしょうか?
---MXML内[begin]----------------------------------------- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="buildConsole();" width="100%" height="100%" backgroundColor="#ffffff" backgroundImage="" viewSourceURL="srcview/index.html"> <mx:Script> <![CDATA[ import assets.com.main.ProjectConsole; private var projectConsoleObj:ProjectConsole; public function buildConsole():void{ projectConsoleObj = new ProjectConsole(); } ]]> </mx:Script> ---MXML内[end]------------------------------------------- ---ProjectConsoleクラス[begin]--------------------------- package assets.com.main{ import flash.display.*; import flash.text.*; import mx.core.UIComponent; public class ProjectConsole extends Sprite{ public function ProjectConsole(){ this.init(); } private function init():void{ var textF:TextField = new TextField(); textF.text = "Hello Hello"; textF.autoSize = TextFieldAutoSize.LEFT; textF.selectable = true; var c:UIComponent = new UIComponent(); c.addChild(textF); addChild(c); } } } ---ProjectConsoleクラス[end]----------------------------- このinit()の内容をMXML内のスクリプトに直接書くと表示が出来ました。宣言したProjectConsoleクラスの記述ではなぜ表示されないのでしょうか?? |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |