メイン ActionScript 3.0 特設会議室 AS2.0の記述を3.0に変更したい | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ゲスト | Åê¹ÆNo.40829 投稿日時: 2008-11-24 12:24 |
AS2.0の記述を3.0に変更したい はじめまして。AS2.0を3.0にする方法で困っています。
http://hakuhin.hp.infoseek.co.jp/main/as/scroll.html#SCROLL_01 上記URLの【マウスでスクロールするマップ】のような事をしたいのですが、サンプルがAS2.0なので3.0に直さないといけません。(コンテンツはAS3.0で作っているので) サンプルのコードを示しますと… (スクロールする背景のオブジェクトに下記のASを記述) onClipEvent (load) { MapWidth = 800; // マップの横幅 MapHeight = 400; // マップの縦幅 MapSpeed = 5; // マップの移動速度 FlashWidth = 400; // Flashの縦幅 FlashHeight = 300; // Flashの横幅 } onClipEvent (enterFrame) { // x方向移動量 _root.map._x += ((FlashWidth - _root._xmouse) / FlashWidth * 2 - 1) * MapSpeed; // y方向移動量 _root.map._y += ((FlashHeight - _root._ymouse) / FlashHeight * 2 - 1) * MapSpeed; // リミッタ if( _root.map._x > 0) _root.map._x = 0; if( _root.map._y > 0) _root.map._y = 0; if( _root.map._x < -(MapWidth - FlashWidth )) _root.map._x = -(MapWidth - FlashWidth); if( _root.map._y < -(MapHeight - FlashHeight )) _root.map._y = -(MapHeight - FlashHeight); } ※よくわからない点 onClipEvent (load)はAS3.0で記述するにはどうすればいいのですか?addEventListenerのイベントでloadとかないのでどうすればいいのか… ※やりたい事 マウスが左右に振れるほど加速し、動きが止まる時は減速して止まる。そんな事をしたいと思っているのですが、何かご意見を頂けたら嬉しいです。 |
|
ゲスト | Åê¹ÆNo.40830 投稿日時: 2008-11-24 13:11 |
Re: AS2.0の記述を3.0に変更したい いろいろ調べてやってみたのですがエラーがでます↓
1120: 未定義のプロパティ FlashWidth へのアクセスです。 1120: 未定義のプロパティ FlashWidth へのアクセスです。 1120: 未定義のプロパティ MapSpeed へのアクセスです。 1120: 未定義のプロパティ MapWidth へのアクセスです。 1120: 未定義のプロパティ FlashWidth へのアクセスです。 1120: 未定義のプロパティ MapWidth へのアクセスです。 1120: 未定義のプロパティ FlashWidth へのアクセスです。 1120: 未定義のプロパティ MapHeight へのアクセスです。 1120: 未定義のプロパティ FlashHeight へのアクセスです。 1120: 未定義のプロパティ MapHeight へのアクセスです。 1120: 未定義のプロパティ FlashHeight へのアクセスです。 【試したコード】 var BgObj:Bg=new Bg(); BgObj.x=0; BgObj.y=0; addChild(BgObj); addEventListener(Event.ADDED,BgIvt); function BgIvt(event:Event):void{ var MapWidth:int = 800; // マップの横幅 var MapHeight:int = 400; // マップの縦幅 var MapSpeed:int = 5; // マップの移動速度 var FlashWidth:int = 400; // Flashの縦幅 var FlashHeight:int = 300; // Flashの横幅 } addEventListener(Event.ENTER_FRAME,BgIvt2); function BgIvt2(event:Event){ // x方向移動量 MovieClip(root).BgObj.x += ((FlashWidth - MovieClip(root).mouseX) / FlashWidth * 2 - 1) * MapSpeed; // リミッタ if(MovieClip(root).BgObj.x > 0) MovieClip(root).BgObj.x = 0; if( MovieClip(root).BgObj.y > 0) MovieClip(root).BgObj.y = 0; if( MovieClip(root).BgObj.x < -(MapWidth - FlashWidth )) MovieClip(root).BgObj.x = -(MapWidth - FlashWidth); if( MovieClip(root).BgObj.y < -(MapHeight - FlashHeight )) MovieClip(root).BgObj.y = -(MapHeight - FlashHeight); } お手数ですが皆様よろしくお願いします。 |
|
あにぃ | Åê¹ÆNo.40832 投稿日時: 2008-11-24 15:29 |
職人 居住地: 北海道 投稿: 250
使用環境:
Flash8 FlashCS3 WinXP FlashLite1.1 / 2.0 |
Re: AS2.0の記述を3.0に変更したい
2.0の物をそのまま3.0として扱うのであれば、こんな感じでも充分な気がします。 loadに記述してあるのは、MovieClip読み込み時に処理なのですが、今回は初期設定みたいなので、loadじゃなくてもタイムラインに書けば問題ないと思います。
|
ゲスト | Åê¹ÆNo.40834 投稿日時: 2008-11-24 17:00 |
Re: AS2.0の記述を3.0に変更したい 職人おめでとう。さん返信ありがとうございます。
さっそく試してみました! エラーはなくなりました。ありがとうございます。 しかし、うまく左右の切り替えができませんでした。 右端に行った時に、左方向へ切り返すのが無理でした。 後、実際に作る時は移動する背景の大きさは3000px、ステージの横幅は800くらいのもので考えています。縦は400くらい。 その値を入力すると右にだけドーンとオブジェクトが伸びて、右方向にしか移動しなくなります。 いろいろ調べてはいるのですがASの習熟度がそこまで高くないので、なかなか解決することができません。 お手数ですが、よろしくお願いします。 |
|
ゲスト | Åê¹ÆNo.40837 投稿日時: 2008-11-24 20:18 |
Re: AS2.0の記述を3.0に変更したい 別の方法で満足ではないですが、近いものができました。
ありがとうございました。 |
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |