• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:flvファイルをステージにステージ中央に表示させる方法を教えてください)

flvファイルをステージにステージ中央に表示

このQ&Aのポイント
  • flvファイルをステージに表示する方法について教えてください。
  • 現在はflvを中央に表示させたく☆の様にしたのですが、flvファイルの左上角を基準に配置されてしまいます。
  • もしくは、flvの基準点を変える方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • bumeshi
  • ベストアンサー率100% (4/4)
回答No.1

ロード完了や配置完了のタイミングで、 vid.x = (stage.stageWidth - vid.width)/2; vid.y = (stage.stageHeight - vid.height)/2; でどでしょか?

ONIKUNOCHIKARA
質問者

お礼

できました!式を自分で考えられるようにならないとだめですね;ありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ASファイルからのstage

    flashcs3 actionscript3.0で作成しています。 asファイル "Test.as" package { import flash.display.DisplayObjectContainer; import flash.display.Sprite; import flash.display.Stage; import flash.display.StageDisplayState; import flash.events.*; public class Test extends Sprite { public function Test() { init(); } private function init() { for (var i:uint = 0; i<10; i++) { var sp:Sprite = new Sprite(); sp.graphics.beginFill(0x00CCFF); sp.graphics.drawRect(i*20,50,20,20); sp.graphics.endFill(); stage.addChild(sp); } } } } flash var hoge2 = new Test(); と書いてflash上のstage上にSpriteをaddChildしたいのですがstageをnullと解釈してしまいます。 この場合flash上のstageを参照するにはどうすれば良いのでしょうか?

    • ベストアンサー
    • Flash
  • AS3でステージのサイズ変えた時にムービークリップが減速して中央に移動

    AS3でステージのサイズ変えた時にムービークリップが減速して中央に移動するFlashの作り方で悩んでいます。 参考にしてるものはこれなんですが↓ http://hfm-kenchan.com/Lesson/sample/centermovie11/top.htm これをActionScript3で作ろうと今現在このようにコーディングをしています。 ※my_mc:ステージ中央にあるムービークリップ stage.align=StageAlign.TOP_LEFT; stage.scaleMode=StageScaleMode.NO_SCALE; stage.addEventListener(Event.RESIZE, resize_control); function resize_control(eventObject:Event):void { my_mc.x = (stage.stageWidth - my_mc.width)/2; my_mc.y = (stage.stageHeight - my_mc.height)/2; const spd:Number=1/5; my_mc.addEventListener(Event.ENTER_FRAME, center_movie); function center_movie(event:Event):void { my_mc.x += ((stage.stageWidth - my_mc.width)/2 - my_mc.x)*spd; my_mc.y += ((stage.stageHeight - my_mc.height)/2 - my_mc.y)*spd; } } 現在はリサイズするとmy_mcはステージ中央にいるのですが参考にしてるものみたいに減速して中央に移動するというものが作れません。 どうしたらいいのかどなたかアドバイスしていただけませんか? よろしくお願いします。

    • ベストアンサー
    • Flash
  • FLASH:: ブラウザ領域にあわせて背景をリサイズ、その後固定

    FLASH:: ブラウザ領域にあわせて背景をリサイズ、その後固定 FLASH:: ブラウザ領域にあわせて背景をリサイズ、その後固定 WEBほぼ初心者ですが、ネットで検索しながら、フルフラッシュの可変レイアウトサイト作成に挑戦中です。 ステージは1920x1200、scaleModeはNO_SCALE, TOP_LEFTアラインです。 やりたいことは、最初にサイトに入った時のstageWidth,stageHeightにあわせて背景BG_mc(1920x1200です)を拡大・縮小し、以後もしウインドウサイズが変更になっても、そのサイズを維持させることです。 現状どうにかたどりついたスクリプトでは、近いことはできているのですが、問題が2つあります。 1: 初回アクセス時にBG_mcのリサイズが適用されず、元のサイズででてしまう。   いったんブラウザをリサイズすると、以後はリサイズが適用され続けます。 2: ブラウザサイズが変更されると、リサイズが動的に適用されつづけてしまう。 最初に拾ったサイズでBG_mcを固定して、以後ブラウザのリサイズは無視したいのですが・・。 下記がそのスクリプトです。 使用ソフトはFLASH CS4, AS3,現状ではGoogle Chromeのみでパブリッシュしてテストしています。 stage.addEventListener(Event.RESIZE, resizeListener); stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; //var DispX:int = Capabilities.screenResolutionX; //var DispY:int = Capabilities.screenResolutionY; function resizeListener (event:Event):void { trace("stageWidth: " + stage.stageWidth + " stageHeight: " + stage.stageHeight); BG_mc.width = stage.stageWidth; BG_mc.height = stage.stageHeight; //if (stage.stageWidth > stage.stageHeight) { //BG_mc.width = stage.stageWidth; //BG_mc.height = stage.stageWidth*0.625; //} else { //BG_mc.width = stage.stageWidth; //BG_mc.height = stage.stageWidth; //} } どなたかわかる方、いらっしゃらないでしょうか? そもそもやろうとしていることは、Flashのみで可能なのでしょうか? レイアウトはHTMLを活用したほうがよいのでしょうか? よろしくお願いします。

  • 円をランダムで描画していき、最初の円から徐々に透明になる

    現在AS3.0にてランダムで永遠と円を描きながらも、描画した円から順番に透明になっていくスクリプトを書いているのですが、以下のスクリプトですと全体が透明になっていき、最終的に何も残らなくなってしまいます。 常に透明度1の円を描画しつつも、先に描画した円から徐々に透明になっていくスクリプトにするにはどうすればよいのでしょうか?ご教授お願いできればと思います。 addEventListener(Event.ENTER_FRAME, rain); import flash.display.Sprite; import flash.display.MovieClip; var mySprite:Sprite = new Sprite(); var myClip:Sprite = new Sprite(); addChild(myClip); function rain(event:Event):void { with(mySprite.graphics) { var circle:int = Math.floor(Math.random()*100); var stageX:int = Math.floor(Math.random()*stage.stageWidth); var stageY:int = Math.floor(Math.random()*stage.stageHeight); beginFill(0x000000); drawCircle(stageX, stageY , circle); endFill; myClip.addChild(mySprite); var diff:Number = 0.01; myClip.alpha -= diff; } }

    • ベストアンサー
    • Flash
  • 子swfから親swfのstageを参照したいです

    親swf(a.swf)のアクションスクリプトで子swf(b.swf)を読み込んでいます。 フルウィンドウのFlashを作る勉強中です。 親swfには stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; などの指定がしてあります。 そして、子swf(b.swf)内で親swf(a.swf)のstageをターゲットとしたイベントリスナーを使いたいのですが、 リスナー関数のアクションがうまく動いてくれません。 (リスナー関数のターゲット指定の方法が間違っているだと思うのですが、結果としてリスナー関数が正常に動かずy座標の値が意図した位置に表示されないのだと思います。) 以下のサイトを参考に試行錯誤中です。 http://riptac.net/html/memo/memo_actionscript/memo_actionscript_233/ MovieClip(root.parent).funcOya(); と言う、親に記述された関数の参照方法を特に参考にして 親のステージを指定しようと思いたったのですが… 『強制型変換に失敗しました。…flash.display.MovieClip に変換できません。』 とエラーが出てしまいます。 同じ事をしているように思えてしまうのですが… どのように指定したら良いのでしょうか。 どうぞご教授のほど宜しくお願い致します。 ※FlashCS4、AS3、Windowsで作業しています。 a.swf------------------------------------------------------- var bLoader:Loader = new Loader(); var bUrl:String = "b.swf"; var bLoader_mc:MovieClip; bLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, funcCompB); bLoader.load(new URLRequest(bUrl)); function funcCompB(e:Event):void{ bLoader_mc = MovieClip(bLoader.content); addChild(bLoader_mc); } b.swf------------------------------------------------------- //移動させる背景画像 var bgMC:MovieClip=new BgMC(); addChild(bgMC); bgMC.x=0; //親swfをムービークリップ化 var oyaMC:MovieClip=MovieClip(root.parent); //ウィンドウがリサイズするたびに位置を合わせる oyaMC.stage.addEventListener(Event.RESIZE, resizefunc); function resizefunc(event:Event):void{ bgMC.y=oyaMC.stage.stageHeight; }

  • Flash 動画ファイルの扱い

    Flashでの動画ファイルの扱いに関して質問させていただきます。 外部にあるflvファイルをFlashのステージ上で表示させる方法として、 以下2点を試しています。 ・FLVPlaybackコンポーネントを使用して、スクリプトで制御する方法 (パラメータに相当する部分をスクリプト制御) 例:FLVPlaybackインスタンス名.contentPath = "●●●.flv"; ・Videoオブジェクトをステージに配置し、スクリプトで制御する方法 (NetConnection,NetStreamを使用) 例:Videoオブジェクトインスタンス名.attachVideo(NetStreamオブジェクト名); ここでCuePointに関してですが、上記FLVPlaybackを使用した際はCuePointを追加して、 再生ヘッドが特定のCuePointに到達したら任意の処理を実行という動作を確認しました。 このCuePointの仕組みと同様の処理をVideoオブジェクトの際は NetStreamオブジェクト.time で 現在の再生ヘッドの場所(再生時間?)が取得できる?ので CuePointの追加スクリプトは書かなくてよいのでしょうか? というか、VideoオブジェクトにCuePointの追加ってできるのか? あと、FlVPlaybackの方は FLVPlaybackインスタンス名.volume で 動画の音量調整ができますが、 Videoオブジェクトの方は動画の音量調整をどのようにすればよいのでしょうか? NetStreamオブジェクト名.volume や NetStreamオブジェクト名.setVolume Videoオブジェクトインスタンス名.volume(setVolume)等 試してみましたが、反応なしでした。 最後にFlashで動画ファイルを扱う際FlVPlaybackを使用するのと、 VideoオブジェクトでNetConnection,NetStreamを使用するのと どちらが適している(一般的)なのでしょうか? わかる範囲でご回答いただければ幸いです。

  • removeChild()についてご教授願います。

    AS3.0の初心者です。 Stratボタン、Stopボタンで以下のスクリプトで表示と非表示を繰返ししたいのですが、 Stopボタンで、単にremoveChild();にしますと、 「#2025: 指定した DisplayObject は呼び出し元の子でなければなりません。」 とエラーとなります。 色々と調べてみたのですが、よく判判りません。 Stopボタンの記述をどの様にすればよいのでしょうか? 初歩的質問で大変恐縮ですが、どうかご教授お願い致します。 [メインスクリプト] var stageH = stage.stageHeight; var stageW = stage.stageWidth; //Stratボタン start.addEventListener(MouseEvent.MOUSE_DOWN,gene); function gene(e:Event):void { for (var i = 0; i < 20; i++) { var mc:Candy = new Candy(); mc.x = Math.random()*stageW + 10; mc.y = Math.random()*stageH + 10; addChild(mc); } } //Stopボタン stop.addEventListener(MouseEvent.MOUSE_DOWN,stp); function stp(e:Event):void { removeChild(mc); この部分がよく判らないのですが、 どの様に記述したら良いのでしょうか? } --------------------------------------- [mc のスクリプト] var mcH:int = this.height; var mcW:int = this.width; var stageH = stage.stageHeight; var stageW = stage.stageWidth; var speedY:uint = Math.random() * 5 + 5; var speedX:uint = Math.random() * 2; addEventListener(Event.ENTER_FRAME,loop); function loop(Event):void { y += speedY; x += speedX; if ( y > stageH ) { y = - mcH; } if ( x > stageW ) { x = - mcW; } } -----------------------------------------

    • ベストアンサー
    • Flash
  • FLASH内のjavascriptのリンクを外部から変更するには?

    環境:WinXP、Flash8 FLVをループ再生するサムネイル的なSWFを作成しています。 そのSWFで一覧用のボタンをクリックしたときには一覧ページへ、 そのほかをクリックしたときにポップアップで詳細用の大きなFlashムービーを見せようと思い FLASH内リンクを外部から変更するには?:http://okwave.jp/qa2949657.html を参考に外部テキストから外部データの読み込みをしていたのですが SWFを押したときのポップアップの表示だけがうまくいきません。 構造は --------------1FのAS---------------- myLoadVars = new LoadVars(); //[1]LoadVarsクラスのインスタンスにLoadVars.onLoadメソッドを定義 myLoadVars.onLoad = function(bSuccess) { //[2]メソッドに渡された変数分析結果の引数がtrueかどうかを判定[*] if (bSuccess) { koushin.loadMovie(_root.myLoadVars.thum);//□ サムネイル画像の読み込み footerimg.loadMovie(_root.myLoadVars.linkimg);//□サムネイル下部の画像の読み込み //FLVのインクルード nc = new NetConnection(); nc.connect(null); ns = new NetStream(nc); video.attachVideo(ns); // "video"は、ステージ上のビデオに付けたインスタンス名 ns.play(_root.myLoadVars.flvfile);//□ flv ファイルを再生します data.txtの"flvfile"の読み込み ns.onStatus = function(infoObject) { if (infoObject.code == "NetStream.Play.Stop") { this.seek(0); } }; } }; // キャッシュ参照防止策 // 今現在の時刻オブジェクト myDT を作成 myDT = new Date(); // 1970年1月1日(世界時) からのミリ秒を取得 myTM = myDT.getTime(); // // myLV に外部テキスト「data.txt」をロード myLoadVars.load("data.txt"+"?time="+myTM); ------------------------------------ -------------data.txt--------------- &flvfile=Http://○○○○.flv& &thum=thum.jpg& &popup=Http://○○○○.html& &ichiran=/ichiran/& &linkimg=link.jpg& ------------------------------------ flvfileはサーバ上のFLVデータ thum、linkimgは画像 ichiranは一覧ページへのリンク popupは詳細用Flashムービーのhtmlへのリンク (アドレスですが実際はHttpではなくhttp) popupとインスタンス名を付けたボタンに ------------------------------------ on (release) { getURL("javascript:openwin('_root.myLoadVars.popup')"); } ------------------------------------ と記述したのですがポップアップは出ても中のページはNotFoundとなります。 試しに_root.myLoadVars.popupをHttp://○○○○.htmlと置換すると表示されました。 LoadVarsやgetURL、javascriptなどで調べてみたのですが何がいけないのかが解りませんでした。 すいません、どなたかご教授願えないでしょうか? 宜しくお願いします。

  • ActionScript コンパイルエラー

    こんにちは。 ActionScript3.0のサンプルデータを起動しようとしたら以下のようなエラーが出ました。 ArgumentError: Error #1063: TestRecRed5() の引数の数が一致していません。1 が必要ですが、0 が指定されました。 実際のプログラムの重要部分は以下となります。 public function TestRecRed5(display:DisplayObjectContainer):void { this._display = display; this._init(); } private function _init():void { var btn:SimpleButton = this._display.getChildByName('rec_btn') as SimpleButton; btn.addEventListener(MouseEvent.CLICK, _btnEventHandler); this._nc = new NetConnection(); this._nc.objectEncoding = ObjectEncoding.AMF0; this._nc.addEventListener(NetStatusEvent.NET_STATUS, _netStatusEventHandler); this._nc.addEventListener(AsyncErrorEvent.ASYNC_ERROR, _asyncErrorEventHandler); this._nc.addEventListener(SecurityErrorEvent.SECURITY_ERROR, _securityErrorEventHandler); this._nc.connect('rtmp://(サーバーホスト名)/(アプリ名)'); } private function _setCameraStream():void { this._send_ns = new NetStream(this._nc); this._send_ns.addEventListener(NetStatusEvent.NET_STATUS, _netStatusEventHandler); var class_obj:* = new NetStreamCall(); this._send_ns.client = class_obj; var camera:Camera = Camera.getCamera(); camera.setQuality(0, 85); camera.setMode(640, 480, 15, true); this._send_ns.attachCamera(camera); this._send_ns.publish('recTestLive'); var video:Video = this._display.getChildByName('video') as Video; this._recieve_ns = new NetStream(this._nc); this._recieve_ns.client = class_obj; this._recieve_ns.play('recTestLive'); video.attachNetStream(this._recieve_ns); } private function _btnEventHandler(event:MouseEvent):void{ this._send_ns.pause(); this._send_ns.publish('recTestRec', 'record'); this._timer_start(); } private function _timer_start(){ trace("録画タイマー測定開始"); var text:TextField = this._display.getChildByName('text') as TextField; text.textColor = 0xD20202; text.text = '録画開始しました(5秒間映像を録画します)'; this._timer = new Timer(5 * 1000); this._timer.addEventListener(TimerEvent.TIMER, _timerEventHandler); this._timer.start(); } private function _timerEventHandler(event:TimerEvent):void{ trace("録画終了"); var text:TextField = this._display.getChildByName('text') as TextField; this._send_ns.close(); this._recieve_ns.pause(); this._recieve_ns.play('recTestRec'); } private function _netStatusEventHandler(event:NetStatusEvent):void { trace(event.info.code); switch (event.info.code) { case "NetConnection.Connect.Success": this._setCameraStream(); break; default: break; } } private function _securityErrorEventHandler(event:SecurityErrorEvent):void { trace(event.text); } private function _asyncErrorEventHandler(event:AsyncErrorEvent):void { trace(event.text); } eventとvoidは一通り付け加えたと思うのですが・・・どなたかご指摘をお願いします。

  • as3 addchildで生成したMCにリンクを張る

    下記のようなことがしたいのですが、 エラーになります。 //空のムービークリップを作成 var mc:MovieClip = new MovieClip(); mc.name = "test"; ~中略(画像を読み込んでます)~ stage.addChild(mc); stage.mc.addEventListener(MouseEvent.CLICK, function(event) { var theURL:URLRequest = new URLRequest("http://yahoo.co.jp"); navigateToURL(theURL); }); 生成したMCにリンクを張る場合は どのようにしたらよいのでしょうか。 ご教授お願いいたします。

    • ベストアンサー
    • Flash