![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
AS2.0からAS3.0にうまく変換できません。
はじめまして、ActionScriptを勉強し始めたばかりの初心者です。
http://blog.bonkura.jp/2008/07/flash-4.html
のページのスクリプトをas3.0に直そうと思って勉強しながらやってみたんですが、
どうもうまくいきません。
書いてみたコードは以下です。
だれか添削してもらえると助かります。宜しくお願いします!
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.LEFT;
var bg:MovieClip = new MovieClip();
this.setChildIndex(bg, 1);
var bgPic:MovieClip = new MovieClip();
this.setChildIndex(bgPic, 0);
bgPattern();
function bgPattern():void{
var myMcl:Loader = new Loader();
var oListener:Object = new Object();
var UrL:URLRequest = new URLRequest();
UrL.url = "http://blog.bonkura.jp/2008/07/08/swf/bg.jpg";
myMcl.addChild(oListener);
myMcl.load(UrL, bgPic);
oListener.addEventListener( Event.COMPLETE, StageSize);
for(var i:Number=0; i<stage.width/100; i++){
for(var j:Number=0; j<stage.height/100; j++){
var bgP:String = "bg"+i+j;
bg.addChild(new (getDefinitionByName(bgP)));
this.setChildIndex(bgP, i+j*100);
bg[bgP].x = i * 100;
bg[bgP].y = j * 100;
}
}
}
var alphaFlag:Boolean = new Boolean();
alphaFlag = true;
bg.addEventListener(Event.ENTER_FRAME, onENTERFrame);
bg.addEventListener(Event.RESIZE, bg.resizeHandler);
stage.addChild(bg);
stage.addChild(bgPic);
function StageSize():void{
bgPic.x = (stage.width/2) - (bgPic.width/2);
bgPic.y = (stage.height/2) - (bgPic.height/2);
}
// イベントリスナー
function onENTERFrame(event:Event) {
if(alphaFlag){
this.alpha -= 5;
if(this.alpha <= 0){
alphaFlag = !alphaFlag;
}
}
else{
this.alpha += 5;
if(this.alpha >= 100){
alphaFlag = !alphaFlag;
}
}
}
function resizeHandler(event:Event = null):void{
bgPattern();
};
No.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;
}
ありがとうございました!
頂いたコードを色々と調べて理解したおかげで
やりたかった事が出来ました。
本当にありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
laptop go2からの買い替え、lap...
-
スマホでサイトの画像を長押し→...
-
ボカロ動画はFlash?HTML5?
-
ActionScript スクロールメニュー
-
AS3 mc0~5をまとめて処理する
-
FLASHでゲームを作っていた人は...
-
この曲はなんでしょう?
-
スクリップト
-
私のコンピューター上のファイ...
-
arduino プログラムについて
-
chrome flash
-
FLASHの再生はできないのでしょ...
-
フラッシュゲームアーカイブ2
-
ウェブサイトで Flash が事実上...
-
Flashコンテンツを使ったWebサイト
-
Flash Playerのサポートが終了
-
Form内のselectを連動させるに...
-
Flashをブロックしないで
-
ダウンロードしたデジブックはa...
-
ad or script について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
for文で配置した物の個別取得【...
-
関数の定義の仕方
-
AS3.0でフェードインできない
-
どのボタンがクリックされたの...
-
(AS3)ムービークリップからメイ...
-
引数が変わってしまいます。
-
お願いします
-
actionscript3.0 データ型について
-
アクションスクリプトを簡素化...
-
FlashPlayer6から8の仕様の変更...
-
FLASHCS3のActionScript3.0で外...
-
関数をストップさせるには。。。。
-
マウスクリックで値を送る(AS3...
-
AS3でプリローダー
-
actionScript3.0にてTouchEvent...
-
インスタンスをまとめて生成?
-
エラー(型が一致しません。)...
-
VB6でユーザー定義型がNothing...
-
LRESULTとHRESULT
-
VBでボタンを押すと画像をラン...
おすすめ情報