ゲーム製作初心者の俺がマルチプラットフォームなゲーム作ってみるスレ
1- 20
58:VIPにかわりましてGEPPERがお送りします(東京都)[sage]
2012/03/01(木) 23:40:27.14 ID:sZkJnwvto
次にオブジェクト型について説明
オブジェクト型は複数の変数を格納しておける大きな箱みたいなもの。
オブジェクト型に格納された変数も型があり、例えばオブジェクト型の中にオブジェクト型を格納するなんてことも可能
もちろんfunction型も格納できるよ
オブジェクト型の格納されたデータにアクセスするには.(ドット)を使う
だからオブジェクト型のhogeって変数の中にあるuryaって変数(プロパティと呼ぶ)にアクセスする際は
hoge.urya
と記述する。

でwindow.onloadって何よって話だけど
これはブラウザ自体が最初から持っているオブジェクト型の変数windowのonloadプロパティをいじっている
function型の値を代入してやると、ブラウザの読み込み終了後に自動的に実行される。

bear.image = game.assets['hogehoge'];
についてだけどまず、assets[]は配列型の変数。
配列の中でも連想配列という少し特殊な配列。
これはただ、bearオブジェクトのimageプロパティにゲームオブジェクトのassets['hogehoge']プロパティに格納された
値を代入しなさいとそれだけです。

newはnew演算子という演算子(+-=なんかと同じ)。
指定したオブジェクト型変数のコピー(インスタンスという)を作る。
例えば弾幕シューティングゲームを作る際、画面上にある弾は全てがそれぞれに
・自分のY座標
・自分のX座標
・自分の進む方向
・自分のスピード
・自分の当たり判定
なんていう情報(変数)を持っている。
なのでまず元の設計図となる弾というオブジェクトを作ってそれをコピーして100個のオブジェクトで弾を管理する
といった場合に使用する

bear = new Sprite(32, 32);
Spriteという設計図をもとにインスタンス生成してbearに代入している。
32,32という数値があるけど、これは投げ値
オブジェクトにはnew演算子でインスタンスが生成される際に指定されたfunction(コンストラクタという)を実行する機能があり、
そのfunctionに値を投げてる。
もとのコードが分からないので何とも言えないけど、32*32のスプライトを作ってってことじゃないだろうか

new演算子はすっごい難しい。自分がプログラム半分挫折してるのはコイツのせい。
オブジェクトだけでプログラムを構築していく方法をオブジェクト指向といい、
これが理解できればJAVAやC#なんかも出来るようになるかも?

以上。長々とごめんなさい


<<前のレス[*]次のレス[#]>>
212Res/99.43 KB
↑[8] 前[4] 次[6] 書[5] 板[3] 1-[1] l20




VIPサービス増築中!
携帯うpろだ|隙間うpろだ
Powered By VIPservice