- 締切済み
wonderflの作品がFlashcs4でみれない
Flash勉強中の初心者です。 wonderfl(http://wonderfl.net/)というサイトに色々とすごい作品があり、ソースなどをダウンロードして、FlashCS4でコンパイルしようとしているのですが、エラーが起きてしまいます。 下が実際に今やろうとしているものです。 どなたかやり方がわかる方がいたら、下の作品を例に教えてくださると助かります。 http://wonderfl.net/c/3lDU 実際に私がやったことは、ダウンロード後にasのファイル名をMainに変更し、 次にFlashファイルを作成(名前はMain)し、クラス名をMainにしました。 後はWonderfl.capture_delay(60);というWonderflクラスはつかえないので、コメントアウトしました。 この後、ctrl+enterで見てみようとすると山のようにエラーが出てしまいます。 やり方わかる方いらっしゃいましたら、ご教授お願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- ProjectNya
- ベストアンサー率100% (1/1)
http://wonderfl.net/c/3lDU の作者です。(`・ω・´)キリッ この作品に限らず、wonderfl で用いられてるような1ファイル内に複数クラスを定義するやり方は、CS4を用いた場合、エラーを吐いてしまうことがあります。 #どのような場合にエラーを吐く吐かないの条件説明については、割愛します。 エラーを発生させない方法としては、Mainクラス内にクラスを定義するのではなく、外部クラス化して、別ファイルにすることです。 http://www.project-nya.jp/modules/weblog/details.php?blog_id=1095 にも、そのように示しています。
- hi_kurokun
- ベストアンサー率45% (20/44)
wonderflはFLEX-SDKの環境で提供されているはずです (FLEX-SDKはオープリソース版もあたのでそれを利用していると思われます?) コンパイルに関して多少FlashCS4とFLEX-SDKでは違うのかも? 気になることをちょっと書いておきます。 >1120: 未定義のプロパティ scale へのアクセスです。 これがDotLightクラス内でのエラーならば 「scale」を「DotLight.scale」にしてみてください。 普通の動的クラスから静的変数「private static var scale:uint = 4;」 にアクセスするならこう書くのが正しいので (このクラス内は4に書き換えることも可能、他のクラス内のscaleはだめです) >1178: アクセスできないプロパティ light へのアクセスを、静的型 Main の参照を使用して試行しました。 ここはMainは静的(static)で宣言されている? scaleとは逆で静的から動的にはアクセスできません private var light:DotLight; をコメントアウトして private function init():void { var light:DotLight; //追加した graphics.beginFill(0x000000); graphics.drawRect(0, 0, 465, 465); graphics.endFill(); light = new DotLight(new Rectangle(0, 0, 465, 465)); addChild(light); light.start(); } FlashCS4は使ったことがないのでうまくいくかは不明です。
お礼
まだ時間がなくて試せていませんが、使ったことないソフトなのに、考えてもらっちゃってすいません。本来は私自身がそのくらい考えなくちゃいけないんですよね。 本当にありがとうございました。 もっと勉強します!
- hi_kurokun
- ベストアンサー率45% (20/44)
私はwonderflにいくつか投稿しているものです。 私の環境はFlex4-SDK(FlashDevelop)で動かしています。 http://wonderfl.net/c/3lDU に関しては私の環境では以下のようにして動かすことが可能でした。 多分、Flashcs4でも同じようにすれば動くと思います。 1)Wonderfl.capture_delay(60);のコメントアウト(ご指摘の通り) 2)frocessing-0.6.1.swcをlibに登録 2)の作業が行っていないのでは? http://www.libspark.org/ http://www.libspark.org/wiki/nutsu/Frocessing からダウンロードできます。 FlashCS4でswcをlibに登録の登録方法は分かりませんので調べてください。 wonderflでは標準でないswcが標準で登録されています。 今回は「import frocessing.color.ColorHSV;」がそれです。 「import flash.*」以外のimport文があったらそれです。 有名なところは「papervision3D」です。
お礼
ご回答ありがとうございます。さっそく調べてやってみようと思います。
補足
早速やってみましたが、frocessingが問題ではないようです。 具体的なエラー表示は 1178: アクセスできないプロパティ light へのアクセスを、静的型 Main の参照を使用して試行しました。 1120: 未定義のプロパティ scale へのアクセスです。 1178: アクセスできないプロパティ rect へのアクセスを、静的型Main.as$0:DotLight の参照を使用して試行しました。 1178: アクセスできないプロパティ afterglow へのアクセスを、静的型 Main.as$0:DotLight の参照を使用して試行しました。 1120: 未定義のプロパティ aBitmap へのアクセスです。 などこういったものです。 ソースもいじってないですし、見た感じ、定義もされてるようなのですが、 もう少し原因を探してみます。 もし、原因をご存知でしたら、またお願いします。
お礼
作者様のお手を煩わしてしまって申し訳ないです。まだ、外部クラスの使い方も上手にできない感じで・・・。いきなり、こんな難しいのは不相応なんでしょうが、とてもキレイで感動したので、なんとか実装までこぎつけてみせます。 ご指摘通り、今、ファイルをわけて色々とやってみてます(まだうまくいってませんが)。。。 いつか作者様のようにオリジナルで美しいFlashが作れるようにがんばります。 本当にありがとうございました。