--------

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2012-01-25

【Unity】ぴーちゃんゲームを開発してみる5

Unity[http://unity3d.com/japan]
QuadUI[http://blog.equals-equals.com/quadui]
SpriteManager[http://www.unifycommunity.com/wiki/index.php?title=SpriteManager]
作成中のゲーム(最新版)[ぴーちゃんのゲーム」 ルールはクリックすれば火が飛んでくのでそれを鶏にあてるだけ!

お邪魔キャラとしてミサイルを追加、攻撃を当てると点数が減ります。
敵が出るタイミングが一定なのはバランス調整の段で変更しようと思います。
後敵を倒すとなんかアイテムっぽいのがてお店に移動するようになりました。
更新点はそんなところ・・・

最初unityを始めた時に一緒にインポートしたスクリプトにjavascript(js)が多かったので
なんとなくスクリプトをjsで組んでましたが、最近導入しているミドルウェアはC#script(cs)が多いので
やっぱりcsで書こうかと思いそちらに浮気していました。
これがスクリプトのコンパイルエラーを引き起こしたので今日はちょっとそれについて書きます。

Unityではjsとcsのソースが混在している状態で、jsのソース内でcsのクラスを使用しようとすると
定義が見つからなくてエラーとなることがあります。
これはコンパイル順の問題で、csとjsでMonoDevelopで管理しているプロジェクトが違うため
まだ処理していないソースの定義が見つからないことが原因です。
自分はインポートしたスクリプトをいろいろいじる為にテスト用スクリプトフォルダを作ってその中にまとめて入れてました。
そこで新規に作成したcs,js入り混じりのスクリプト内で、他のスクリプトのクラスを使用していたときにこのエラーが発生しました。
js内でcsのクラスを使用しようとして、定義が見つからないってエラーでした。

これを回避する為に調べて見たところ
UnityではScriptのコンパイルの際、Projectに特定の名前のフォルダーがある場合、そちらを先にコンパイルするみたいです。
http://unity3d.com/support/documentation/ScriptReference/index.Script_compilation_28Advanced29.html
↑の記事に従って、Pluginフォルダ内に定義の見つからなかったクラスを持つスクリプトを移動させて見たところ
無事にコンパイルすることができました。

大抵のパッケージではインポートする際にスクリプトはPlugin内に作成するようにしていますが
自分が落としてきたSpriteManagerのようなソースだけのものの場合は、手動で入れてあげる必要があるかと思います。
後は、作成しているゲーム側専用のスクリプトはcsかjsどちらかだけ使う様に統一すれば
プロジェクト後半になって泣きを見ることは無さそうです。
csとjsで依存関係がガチガチになっている状態で、この手のエラーが多発した場合は目も当てられませんしね。。
スポンサーサイト

theme : ソフトウェア
genre : コンピュータ

コメントの投稿

管理者にだけ表示を許可する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。