- ベストアンサー
actionscript 3.0 勉強中!四角の枠加速落下プログラムでエラーメッセージ受信
- actionscript 3.0 勉強中のもです。四角の枠状のものを加速をつけて落下させるプログラムですが、「外部からの表示可能な複数の定義は使用できません。」というエラーメッセージを受けました。どう対処すればよいかわかりません。
- また、プログラムの書き方についてもアドバイスがほしいです。
- 回答やアドバイスをいただけると助かります。よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
そもそも「□」をステージ上に配置することすらできていない状態であるのにもかかわらず 次々と何かの動作をさせて行こうとされているのが全くおかしいと思います(ありえない考え方&やり方です)。 とりあえず「□」をステージ上に配置させてみれば? それをせずして 仮に 「外部からの表示可能な複数の定義は使用できません。」 のエラーをクリアできたとしても その後も続々とエラーの嵐が続きますよ。。。 全体的に無茶苦茶な上 具体的に何をしようとされているのかわからないため修正のしようもありません。 「外部からの表示可能な複数の定義は使用できません。」 に関してはクラスの中で function が定義されていないからです。 形がそもそも変です。 現状の形を書きます。 package { import ○○; …略… public class Rakka extends Sprite { var ○○:△△; …略… maru_mc=new Sprite(); …略… } function onEnter(e:MouseEvent):void { …略… } function goBound(e:Event) { …略… } } function の定義がクラスからはみ出ているでしょう? だいたいの形としては次のような形にする必要があります。 (インデントに全角スペースを使っているのでコピペはできません。) package { import ○○; …略… public class Rakka extends Sprite { var ○○:△△; …略… //↓コンストラクタ public function Rakka() { maru_mc=new Sprite(); …略… } function onEnter(e:MouseEvent):void { …略… } function goBound(e:Event) { …略… } } } ↑このような形に修正したとしても まだまだエラーの嵐が続きます。 細かいことを挙げていてもキリがありませんが > maru_mc.graphic.lineStyle(6,0xee0033) > maru_mc.graphic.drawRect(0,0,120,120) この部分は maru_mc.graphic.… ではなく maru_mc.graphics.… です。 > stage.addEventListener(Event.MouseEvent,onEnter); ↑意味が全くわかりません。 何のイベントが発生したときに 関数「onEnter」を動作させたいのでしょうか? > mouse_mc.y = mouse_mc.y +i*y/100 「mouse_mc」って何? どこから出てきた何なのでしょうか??? ある程度の雰囲気で推測ができる人間すらわからないことだらけです。 PCにわかるはずがありません。 とにかくイベントや関数は抜きにして 次のような状態から, 実際にできるかどうかをやってみて 動作確認をしながら順々にスクリプトを組むべきです(コピペ可)。 //------------------------------------ package { import flash.display.Sprite; public class Rakka extends Sprite { var maru_mc:Sprite; public function Rakka() { maru_mc=new Sprite(); maru_mc.graphics.lineStyle(6,0xee0033); maru_mc.graphics.drawRect(0,0,120,120); this.addChild(maru_mc); } } } //------------------------------------ とにかく↑この状態すらできていないのに この先に進むのが間違いです。
お礼
大変お手数をおかけしました。 皆さんの作例を参考にいろいろ組み合わせたところ このようなお粗末なものになってしました。 しかしながら、まだ基本として見破れ無いところがあるところを見ると まだまだ先は遠うそうです。ご回答ありがとうございました。