- 締切済み
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は一通り付け加えたと思うのですが・・・どなたかご指摘をお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- chika_008
- ベストアンサー率80% (20/25)
何度もご回答有難うございます。 説明不足で申し訳ありません,これは外部メインクラスとなります。 flaファイルのステージ上にはビデオMCとボタン用のMC、コメント表示用のMCの3つを用意する形となります。 なるほどなるほど、 ではアクションフレームに記述、またはドキュメントクラスからこの外部クラスを呼び出しているところを教えていただけないでしょうか。 たとえば、 var rec:TestRecRed5 = new TestRecRed5(this); みたいな記述の部分です。 どうでしょうか?
- chika_008
- ベストアンサー率80% (20/25)
なるほどなるほど。 では、このスクリプトは外部クラスの一部でしょうか? それともフレームアクションでしょうか? 今一度御確認をよろしくお願いいたします。
- chika_008
- ベストアンサー率80% (20/25)
TestRecRed5(); を呼び出すところで引数を指定していますでしょうか? これはstageを引数に指定してあげればいいと思うのですが たとえば、functionを呼び出す場面で、 TestRecRed5(this); とかですね^^ ここがTestRecRed5();になってる可能性があります。
補足
ご回答ありがとうございます。 何分サンプルなプログラムなので完全に理解していませんが… 残念ながらTestRecRed5(); として指定はしていませんでした汗。 今回上記に記したプログラムはほぼ全部で、載せなかった部分は大体コメント文なので... 相変わらず謎が解けないままです(泣)
補足
何度もご回答有難うございます。 説明不足で申し訳ありません,これは外部メインクラスとなります。 flaファイルのステージ上にはビデオMCとボタン用のMC、コメント表示用のMCの3つを用意する形となります。