[過去ログ]
40歳のおっさんがゲームを作り始めてみる [無断転載禁止]©2ch.net (1002レス)
40歳のおっさんがゲームを作り始めてみる [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/gamedev/1499064559/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
180: 名前は開発中のものです。 [sage] 2017/07/10(月) 22:25:34.57 ID:cyzWpUFk オブジェクト指向というのは、意味概念をプログラムとして直接記述できるようにしたプログラミングパラダイムの事 あらゆる抽象概念を”モノ”として定義し、人間の自然な思考に沿うようにプログラムに意味を持たせることが出来るようにすることで、 より簡潔かつ明瞭なプログラムが書けるようになり、初心者の習得も容易になった 例えばゲームなら、キャラクターを表示して移動するというプログラムを書くとする 古典的プログラム int char_pic = LoadImage("char_pic.png"); // キャラの画像を読み込み int x, y; // キャラの座標を保持する変数 x = y = 0; // 0に初期化 for (int i = 0; i < 10; i++) { DrawImage(char_pic, x, y); // (x, y)座標にキャラの画像を描画 x += 1; // x座標を1増加 } これのプログラムの意味としては、座標の位置に画像を表示するという意味しか読み取れない これをオブジェクト指向で書くと Character char = Character("char_pic.png"); // キャラを作成 for (int i = 0; i < 10; i++) { char.draw(); // キャラを描画 char.move(1, 0); // キャラを移動(x方向に +1) } と言った感じで頭で考えたとおりの意味のあるプログラムが書ける 続く http://mevius.5ch.net/test/read.cgi/gamedev/1499064559/180
181: 名前は開発中のものです。 [sage] 2017/07/10(月) 22:27:14.08 ID:cyzWpUFk 続き やってることは同じでも、プログラム(コード)を見た時に、コメント無しでもパッと見で意味が分かるのがオブジェクト指向のメリット 因みにオブジェクトの中に「古典的プログラム」を内包しているので、小さなプログラムでは冗長になり無駄に見えたり、 意味を感じられないという事はある 関数でも同じことが言えるけど、それは粒度の問題で、どこまで細かくするかは個人の好みと経験の問題 以下は、クラスCharacterの中身 class Character { private int char_pic; // キャラの画像のハンドルを保持する変数 int x, y; // キャラの座標を保持する変数 public Character(string pathofImage) : x(0), y(0) { char_pic = LoadImage(pathofImage); } // 初期化 void draw() { DrawImage(char_pic, x, y); } // 描画 void move(int _x, int _y) { x += _x; y += _y; } // 移動 } あと関数というのは「処理のかたまり」であり、クラスというのは「処理のかたまりを意味別に分類し状態を持たせた物」って感じかな どちらにしてもUnityはオブジェクト指向で作られているので、使っていれば知らず知らずにオブジェクト指向の恩恵を受けていることになる Playmakerなんてのは、まさにオブジェクト指向の概念を可視化したようなものなので、あれを使うとより理解が深まるかもしれない Unityだと、たとえばメニューから「オブジェクトの追加→キューブ」なんてやって画面にキューブが表示され、それを右に10動かそうと思ったら スクリプトで「cube1.translate(10, 0, 0);」なんて書けば動くかもしれない うん、Unityの使い方はだいぶ前にちょろっと触っただけなのであまり知らないんだ、ごめんw 最後に、オブジェクトというのは文字通り”モノ”であり、Unityの画面上に目に見えるものもあれば見えないものもある キャラクターオブジェクトとか、ライトオブジェクトとか、カメラオブジェクトとか、ほぼ全てがオブジェクト そしてクラスというのは、その”モノ”がどんな物なのかを定義したもの http://mevius.5ch.net/test/read.cgi/gamedev/1499064559/181
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.029s