- ベストアンサー
AS2.0からAS3.0にうまく変換できません。
- ActionScriptを勉強し始めたばかりの初心者です。
- http://blog.bonkura.jp/2008/07/flash-4.htmlのページのスクリプトをas3.0に直そうと思って勉強しながらやってみましたが、うまくいきません。
- コードの添削や助言をお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>AS2.0からAS3.0にうまく変換できません 根本的なことを理解しないまま置き換えて変換しようとするより、 まずは元のスクリプトがどういう処理/設計になっているかを ひとつずつ理解して、それを元に1から組み立ててみることをおすすめします. >添削 ほぼすべて変更する必要があります. このため添削は省き、変換した場合の一例をあげておきます. stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; var alphaFlag:Boolean = true; var bgPic:Sprite = new Sprite(); var myMcl:Loader = new Loader(); myMcl.contentLoaderInfo.addEventListener( Event.COMPLETE, onComplete ); //自前で画像を用意し、とりあえずswfと同じフォルダに入れ、 //その画像へのパスを○○.jpgに入れます myMcl.load( new URLRequest( "○○.jpg" )); function onComplete( e:Event ):void { addChild( myMcl ); addChild( bgPic ); bgPattern( bgPic, myMcl.width, myMcl.height ); resizeHandler(); stage.addEventListener( Event.RESIZE, resizeHandler ); bgPic.addEventListener(Event.ENTER_FRAME, EnterFrameHandler); } function EnterFrameHandler( e:Event ):void{ if ( alphaFlag ) { e.currentTarget.alpha -= 0.05; if (e.currentTarget.alpha <= 0) { alphaFlag = !alphaFlag; } } else { e.currentTarget.alpha += 0.05; if (e.currentTarget.alpha >= 1) { alphaFlag = !alphaFlag; } } } function bgPattern( sp:Sprite, w:Number, h:Number ):void { var bmd:BitmapData = new BitmapData( 4, 4, true, 0x00000000 ); var dot:BitmapData = new BitmapData( 2, 2, false, 0x000000 ) bmd.copyPixels( dot, dot.rect, new Point() ); sp.graphics.beginBitmapFill( bmd, null, true, false ); sp.graphics.drawRect( 0, 0, w, h ); sp.graphics.endFill(); } function resizeHandler( event:Event = null ):void { var sw:Number = stage.stageWidth; var sh:Number = stage.stageHeight; myMcl.x = ( sw - myMcl.width ) / 2; myMcl.y = ( sh - myMcl.height ) / 2; bgPic.x = myMcl.x; bgPic.y = myMcl.y; }
お礼
ありがとうございました! 頂いたコードを色々と調べて理解したおかげで やりたかった事が出来ました。 本当にありがとうございました!