• 締切済み

ActionScript3.0でスクロールバー

お世話になります。 ActionScript3.0とflashの勉強中で、表題のところで詰まってしまいお尋ねしたいことができました。 flash上のダイナミックテキストフィールドにスクロールバーを付けたいのですが、 以下のように記述してもどうしてもコンパイル時にエラーが出てしまいます。 これだけでは定義が不足なのでしょうか…… お力添えいただければ幸いです。 よろしくお願いします。 使用ツール:Adobe flash CS4、FlashDevelop(ActionSctript3.0) ----- import fl.controls.ScrollBarDirection; import fl.controls.UIScrollBar; var myTextField:TextField = new TextField(); myTextField.width = 160; myTextField.height = 120; myTextField.border = true; myTextField.x = 10; myTextField.y = 10; addChild(myTextField); var hScrollBar:UIScrollBar = new UIScrollBar(); hScrollBar.direction = ScrollBarDirection.HORIZONTAL; hScrollBar.scrollTarget = myTextField; hScrollBar.width = myTextField.width; hScrollBar.move(myTextField.x, myTextField.y + myTextField.height); addChild(hScrollBar); var txt:String = "てすと"; myTextField.text = txt; vScrollBar.update(); ----- 発生エラー文 1046: 型が見つからないか、コンパイル時定数ではありません : UIScrollBar

  • Flash
  • 回答数1
  • ありがとう数0

みんなの回答

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

「Adobe ActionScript 3.0 UIScrollBar コンポーネントの使用」 http://help.adobe.com/ja_JP/ActionScript/3.0_UsingComponentsAS3/WS5b3ccc516d4fbf351e63e3d118a9c65b32-7f9c.html > ActionScript を使用した UIScrollBar コンポーネントインスタンスの作成 > ~~~略~~~ >  1.新しい Flash (ActionScript 3.0) ドキュメントを作成します。 >  2.ScrollBar コンポーネントを [ライブラリ] パネルに >   ドラッグします。 >  3.[アクション] パネルを開いて、メインタイムライン内で…略…

関連するQ&A

  • 下記二つのbitmapDataに関するサンプルソースですが、なぜ問題な

    下記二つのbitmapDataに関するサンプルソースですが、なぜ問題なくaddChildされるのでしょうか? 普通に考えると上から下へパブリッシュされていると思っていたのですが、 厳密には違うということでしょうか? ---------------------------------- var txt:TextField = new TextField(); txt.text = 'あああ'; var bitmapdata = new BitmapData(txt.width,txt.height); var bmp:Bitmap = new Bitmap(bitmapdata); bitmapdata.draw(txt); addChild(bmp); ---------------------------------- bitmapdata.draw(txt); の記述位置をaddChild()の下に記述してもエラーが出ること無く実行されます。 しかし、 bitmapdata.draw(txt); の記述がなければエラーが出ませんが、描画されません。 ---------------------------------- var txt:TextField = new TextField(); txt.text = 'あああ'; var bitmapdata = new BitmapData(txt.width,txt.height); var bmp:Bitmap = new Bitmap(bitmapdata); addChild(bmp); bitmapdata.draw(txt); ---------------------------------- 単純にaddChild()した後に、draw()することができるということでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • ActionScriptのコンパイル設定

    Actionscript3.0でスクロールバーを使いたいのですが,調べたところ,それにはUIScrollBarクラスを使うといいようです。 しかし、コンパイルしても外部のライブラリを読み込んでくれずパス設定も自分なりにやってみたのですがうまくいきません。 パスの通し方はどのようにすればいいのでしょうか。 エラーの内容:"定義fl.control.UIScrollBarが見つかりません" <実行環境> OS      :Windows2000 開発言語  :ActionScript 3.0 開発環境  :FlashDevelop、         Flex2 SDK、         FlashPlayer9

    • ベストアンサー
    • Flash
  • ActionScript3:Tweenをfor文で割り当てられないのか

    ActionScript3:Tweenをfor文で割り当てられないのか? AS3でaddChildでMovieClipを複数置いてTweenをfor文で割り当てるということをやろうとしているのですが、どうしても順番で最後のMovieClipしか動きません。 以下のようにコーディングしてボタンを5個を並べてマウスオーバーするとTweenアニメで動き、またアウトするとTweenアニメで元の位置に戻るというものを作りたいのですが、5番目のボタンしか動きません。Tweenはfor文で割り当てられないのでしょうか? //クラスのインポート import fl.transitions.Tween; import fl.transitions.TweenEvent; import fl.transitions.easing.*; //ボタン配置 for (var i:uint=1; i<6; i++) { var BtnName:String="btn0"+i; var BtnNumber:Class=getDefinitionByName(BtnName) as Class; var Btn:MovieClip = new BtnNumber(); addChild(Btn); Btn.x=10+Btn.width/2+(Btn.width+10)*(i-1); Btn.y=46+Btn.height/2; Btn.buttonMode=true; Btn.id=i; ←idというプロパティを付けてもダメでした Btn.addEventListener(MouseEvent.ROLL_OVER, RollOverEv); Btn.addEventListener(MouseEvent.ROLL_OUT, RollOutEv); function RollOverEv(eventObject:MouseEvent):void { BtnTween01=new Tween(Btn,"y",None.easeNone,Bottom,Top,MovSpd,true); ↑このBtnがi=5としか認識してないようです。 if (BtnTween02.isPlaying) { BtnTween01=new Tween(Btn,"y",None.easeNone,BtnTween02.position,Top,MovSpd,true); ↑このBtnがi=5としか認識してないようです。 } } function RollOutEv(eventObject:MouseEvent):void { BtnTween02=new Tween(Btn,"y",None.easeNone,Top,Bottom,MovSpd,true); ↑このBtnがi=5としか認識してないようです。 if (BtnTween01.isPlaying) { BtnTween02=new Tween(Btn,"y",None.easeNone,BtnTween01.position,Bottom,MovSpd,true); ↑このBtnがi=5としか認識してないようです。 } } } //変数色々設定 var BtnTween01:Tween; var BtnTween02:Tween; var Top:uint=Btn.height/2+5; var Bottom:uint=Btn.height/2+46; var MovSpd:Number=0.2; ■環境:ActionScript3、Flashサイズ:w;280xh:100

    • ベストアンサー
    • Flash
  • ActionScript3.0についての質問です

    はじめまして。 いまFlash ActionScript3.0を勉強中です。 フルスクリーンについてどうしてもわからないことがありまして 質問させていただきました。 フルスクリーン処理をasファイルで制作中で、 fullscreenボタンを押すとnormalボタンに切り替わる処理ができません。 特にエラーも起きなくて混乱中です。 すいませんがよろしくお願いします。 ※質問内容以外省略。 package { //インポート import flash.display.Sprite; import flash.display.SimpleButton; import flash.display.Stage; import flash.display.StageDisplayState; import flash.events.Event; import flash.events.MouseEvent; import flash.events.FullScreenEvent; [SWF(backgroundColor="#000000", width="600", height="400", frameRate="30")] public class Main extends Sprite { //プロパティ private var fullscreenBtn:Sprite; private var fullscreenBtn1:SimpleButton; private var normalBtn1:SimpleButton; // コンストラクタ public function Main() { stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; init(); stage.addEventListener(Event.RESIZE, updatePos, false, 0, true); } // メソッド private function init():void { fullscreenBtn = new Sprite(); addChild(fullscreenBtn); fullscreenBtn.y = 6; var fullscreenBtn1 = new FullscreenBtn(); var normalBtn1 = new NormalBtn(); fullscreenBtn.addChild(fullscreenBtn1); fullscreenBtn.addEventListener(MouseEvent.CLICK,btChangeClicHandler); stage.addEventListener(FullScreenEvent.FULL_SCREEN,stageFullScreenHandler); updatePos(null); } //イベント private function updatePos(evt:Event):void { fullscreenBtn.x = stage.stageWidth - 85; } //マウスイベント private function btChangeClicHandler(evt:MouseEvent):void { if (stage.displayState == StageDisplayState.FULL_SCREEN) { stage.displayState = StageDisplayState.NORMAL; } else { stage.displayState = StageDisplayState.FULL_SCREEN; } } //ボタンの切り替え ※この処理がうまくいきません。エラーは起こりません。 private function stageFullScreenHandler(evt:FullScreenEvent):void { if (evt.fullScreen) { fullscreenBtn.removeChild(fullscreenBtn1); fullscreenBtn.addChild(normalBtn1); } else { fullscreenBtn.removeChild(normalBtn1); fullscreenBtn.addChild(fullscreenBtn1); } } } }

    • ベストアンサー
    • Flash
  • actionscript 3.0 初心者です

    現在bitmap処理について調べています。 以下の記述に置いて、ライブラリーにあるpng画像をbitmapで読み込みました。 この画像はswfファイルに埋め込み済みでクラスをtokyo1としています。 続いて、これを.draw()を使って画像に変化を起こそうとしましたが、 こちらはうまく行きませんでした。 どこかおかしいのでしょうか?お心当たりございましたら是非よろしくお願いします。 import flash.display.BitmapData; import flash.display.Bitmap; import flash.geom.Matrix; import flash.geom.ColorTransform; var rectX:Number=40; var rectY:Number=30; var rectwidth:Number=20; var rectheight:Number=20; var rect1:Rectangle=new Rectangle(rectX,rectY,rectwidth,rectheight); var btm_data:BitmapData=new tokyo1(); var btm_obj:Bitmap=new Bitmap(btm_data,PixelSnapping.AUTO,false); var matrix:Matrix=new Matrix(2,0,0,3,0,0); var color:ColorTransform=new ColorTransform(1,1,1,1,0,0,0,0); btm_data.draw(stage,matrix,color,BlendMode.NORMAL,rect1,true); addChild(btm_obj);

    • ベストアンサー
    • Flash
  • エラーになってしまいます。

    コンポーネントのコンボボックスでこのように書きました。 コンボボックスの選択肢とは別にテキストをクリックするとフォント名を取得します。 クリックしたテキストに設定されているフォント名を、コンボボックスのセレクト値に したいのですが、どうすればいいでしょうか? ■エラー内容 TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。 at test/changeHandler() ■AS3 package { import flash.display.*; import flash.events.*; import flash.text.*; import fl.events.*; import fl.controls.*; import fl.data.DataProvider; public class test extends MovieClip { var comboData:Array = new Array( {label:"フォント1"}, {label:"MS ゴシック"}, {label:"フォント3"} ); var combobox_cb:ComboBox; var combobox_cb:ComboBox; var format:TextFormat; var text:TextField; public function test() { init(); } private function init():void { combobox_cb = new ComboBox(); combobox_cb.dropdownWidth = 200; combobox_cb.width = 200; combobox_cb.move(150, 50); combobox_cb.dataProvider = new DataProvider(comboData); combobox_cb.prompt = 'フォント2'; format = new TextFormat(); format.font = "MS ゴシック" text = new TextField(); text.defaultTextFormat = format; text.text = 'テキスト'; addChild(combobox_cb); addChild(text); text.addEventListener(MouseEvent.CLICK, changeHandler); } private function changeHandler(e:Event):void { trace(e.currentTarget.getTextFormat().font); combobox_cb.selectedItem.label = e.currentTarget.getTextFormat().font;//ここでエラー } } }

    • ベストアンサー
    • Flash
  • AS3の拡大と縮小について

    下記の外部ASで試しているのですが比率を維持して拡大されます。 予想では横は100%で縦に300%伸びて表示されるはずなのですがなぜ比率が 維持されるのでしょうか? また、縦だけとこ横だけ拡大や縮小するにはどう書けばいいのでしょうか? package { import flash.display.*; import flash.events.*; import flash.text.*; public class Main extends MovieClip { private var mc:MovieClip; private var text:TextField; public function Main():void { mc = new MovieClip(); addChild(mc); text = new TextField(); text.text = "テスト"; text.scaleX = 1; text.scaleY = 3; mc.addChild(text); } } }

    • ベストアンサー
    • Flash
  • actionscript3.0ものすごく初心者です

    周辺見かけたプログラムを解読(?)しながら勉強しています。 以下のプログラムをflash cs5(actionscript3.0)にて入力すると パッケージはネストできません。と出ます。 どなたかが、ASじゃないとダメなのかなぁ.....とつぶやいていたのを見かけたのですが 当方何のことか全くわかりません。どのようにそれば以下の内容をflash cs5にてうち込む ことができるでしょうか?またできました、なぜ以下のパッケージが受け付けられないのかも教えていただきますと助かります。(packageは既に含まれているという記述を見ましたが 当方何のことか全くわかりません。)よろしくお願いします。 package { import flash.display.Sprite; [SWF(width="240",height="80",frameRate="24")] public class GraphicsSample extends Sprite { public function GraphicsSample() { var sp1:Sprite = new Sprite(); sp1.x = 30; sp1.y = 20; sp1.graphics.lineStyle(5,0xFF0000,1); sp1.graphics.moveTo( 0, 0); sp1.graphics.lineTo(10,45); sp1.graphics.lineTo( 0,20); sp1.graphics.lineTo(45,60); addChild(sp1); } } }

    • ベストアンサー
    • Flash
  • Flash ActionScript 3のエラー

    下記のコードについて、エラーがわからず困っています。 上から13行目の(stage.addChild(background)に対して、 Error Message: "Cannot access a property or method of a null object reference." がでます。 この13行目までは、ちゃんと動いていたのに、これ以降コードを加えていくと、 動きません。 お分かりになる方、どうぞ教えてください。 まだ初心者(2週間)なので、初歩的な質問かもしれませんが、よろしく お願いします。 [コード] import flash.display.MovieClip; import flash.display.Stage; import flash.events.Event; public class GameEngine extends MovieClip { public function GameEngine() { super(); //create background and add to stage var background:Background = new Background(); stage.addChild(background); background.x = 500 / 2; background.y = 400 / 2; //create fly and add to stage var fly:Fly = new Fly(stage); stage.addChild(fly); fly.x = 100; fly.y = 400 / 2; //creat new enemy objects addEventListener(Event.ENTER_FRAME, createEnemy, false, 0, true); } private function createEnemy(e:Event):void{ if(Math.floor(Math.random() * 90) == 5){ var enemy:FlySwatter = new FlySwatter(stage); } } } (行はじめの } の余白が入力した通りに表示されませんので、余白は無視してください)

  • TextFieldで、文字の大きさや色を変えたいAC3・Flash

    ActionScript3.0で、 TextFieldに表示される文字の大きさや色を変えたいです。 現在、下記のように記載して、文字を表示させていますが、 いくらネットや本で調べても、文字の大きさを変える方法が分かりませんでした。数時間以上調べました。 ぜひ教えてください! var n:int=5; var abc = new TextField(); stage.addChild(abc); abc.border = false; abc.x = 100; abc.y = 60; abc.width = 50; abc.height = 50; abc.htmlText =n; たとえばこの場合5という数字が大きく表示されるようにしたいです。 よろしくお願いいたします!

    • ベストアンサー
    • Flash