解決していただいた方に1000ポイント贈呈。


以下のリンクにFlashPlayer8 ActionScript1.0で作成したflaファイルがあります。
内容は簡単で、12枚のカードをシャッフルするものです。
これをAS3.0に変更してください。
当方でも以下のように変更しましたが、エラーがでます。

フレーム名shuffleの部分のASの変更
26行目(空白行も1行として数える)の
pieceName = eval("MC" + pieceNum);を
pieceName = this["MC" + pieceNum];と変更。

すると「未定義のプロパティ ***** へのアクセスです。
というコンパイルエラーが20行以上ズラーとでてきましたので
var *** :uint;を使ってエラーを消していきました。
変数の未定義はエラーになる。forの中のiやkまでエラーになる?
一部消せないエラーもありました。
そもそもfor文の中の変数まで定義必要でしょうか?

私の力不足です。どなたかご教授ください。
http://dora5315gon.web.fc2.com/htn/qes.fla

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2014/05/03 16:13:09
  • 終了:2014/05/10 08:42:15

回答(1件)

id:sasada No.1

sasada回答回数1482ベストアンサー獲得回数1332014/05/03 17:04:59

ASはド素人なのであまりお力になれませんが、とりあえず、

package 
{
import flash.display.MovieClip;

public class TestClass extends MovieClip {

public function TestClass() { var numberList:Array = [];
(中略 ご質問のスクリプト通り)
} } }

と、クラスの形に直してみてはいかがでしょうか。
 AS3はオブジェクト指向だと聞いたので。

 出てくる変数は
var 変数名:型 = 値

で全部宣言する必要ありです。
var numberList:Array = [];

とかですね。
Arrayの他はUnitでokです。

ひとまず、ここで、どれだけエラーが残ってくるかですね。

http://wonderfl.net/beginner/book/chapter1-2/

他4件のコメントを見る
id:MostInakappe

外部ASファイルを使うのでなければ上記の方法はかならずしも必要ないとおもいます。
リンクのflaファイル作成したのはCS3です。AS3.0が使えるflashであればどれでもOKだとおもいます。5月10日で終了予定なので、5月9日までに解決しなければ5月10日午前中に質問キャンセル予定しています。ご協力いただいている方々ありがとうございます。

2014/05/08 14:09:28
id:sasada

あぁ、お返事が大変遅くなりました!こちらの環境は、「Adobe Flash Professional CS6」です。ASは素人で、よく分かってないです。申し訳ありません。こちらでは、コンパイルは通るんですが、実行しても何も起こりません。class化するとmain()関数とかいるのですかね。

2014/05/08 18:34:39

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません