[PR] この広告は3ヶ月以上更新がないため表示されています。
ホームページを更新後24時間以内に表示されなくなります。
ゲームプログラム・サンプルプログラム集
~ ゲームでよく見るあの処理をいろいろと実装してみます ~
「ゲームの中でよく見るあの処理」を自分なりに作ってみた実装をまとめています。
しばらくして「あれってどういう風に実装したっけ?」と自分自身で思い出すための備忘録としての意味合いもありますし、 他の人がプログラムを実装する際にも何かの参考になればと思いここに記録を残しておこうと思います。
実装してみたもの
DXライブラリ
画面への文字列や画像の描画・キーボードやマウスの操作・カメラ設定や3Dモデルの描画など、
主にDXライブラリの関数の使い方を中心に実装をしています。
・
ウィンドウ作成と文字表示
・
画像の読み込みと描画
・
画像を移動させる
・
十字キーを使って移動させる
・
左右キーの移動に合わせて画像の向きも変える
・
ランダムな座標
・
ランダムな色
・
たくさんの場所に画像を描画
・
変数の値を文字列で描画
・
マウス座標
・
マウスボタンを押しているか
・
マウス座標が画像の真ん中に来るように
・
画像のアニメーション(画像の一部分を描画)
・
画像のアニメーション(画像を分割して読み込む)
・
いろんな画像を並べてマップ作成
・
1枚の画像の一部分を並べてマップ作成
・
BGM再生
・
SE再生(1回再生)
・
SE再生(ループ再生)
・
BGMの音量操作
・
SEの音量操作
・
画像の回転
・
半透明処理
・
文字列サイズの変更
・
フォントの変更
・
フォントハンドルを使って文字列の描画
・
文字列の長さ計算
・
文字列の長さ計算(フォントハンドル)
・
3Dモデルの描画
ゲームプログラム
ゲームで使いそうな処理を色々と実装しています。
サンプルプログラムで記述している描画や操作関係はDXライブラリを使っていますが、
DXライブラリを使わない環境でも処理としては同じような実装で動作すると思います。
・
画面の端まで行ったら反対から出てくる
・
特定の座標まで行ったらそれより先には進まない
・
四角を使ってバーみたいな表示
・
ランダムで色を選ぶ(特定の何色か)
・
跳ね返り処理(右移動中か左移動中かの切り替えで)
・
跳ね返り処理(移動スピードを使って)
・
文字列で時間の表示
・
文字列の点滅表示
・
キャラクターの頭の上に情報を表示(文字列で)
・
キャラクターの頭の上に情報を表示(HPバーみたいなもの)
・
特定のキーを押しているときは移動スピードが速い
・
移動スピードが速いときはアニメーションも早い
・
並べた四角をクリックする
・
マウスカーソルがある場所が分かるようにカーソル画像を描画
・
並べた四角をマップとしてプレイヤー移動
・
並べた四角のマップの番号によって進めるかどうかを判断する
・
マウスで画像をクリック
・
クリック回数を数えて文字列で描画
・
プレイヤーと敵(画像同士)で当たり判定
・
当たった時の演出(文字列を一定時間表示)
・
当たった時の演出(画像の点滅)
・
背景スクロール
・
背景スクロール(遠い背景と近い背景)
・
徐々にスピードを上げて移動
・
落下処理
・
ジャンプ
・
単発ショット
・
たくさんのショットを撃つ
・
一定間隔でショットを撃ち続ける
・
回転と移動
・
向いている方向に合わせてショット
・
3方向ショット
・
一斉に全方向ショット
・
順番に向きを変えて全方向ショット
・
プレイヤーの前方にバリア
・
プレイヤーの周りに回転バリア
・
回転バリアのスピードをそれぞれで変えて回転
・
プレイヤーがマウスの方に向く
・
マウスの方に目印画像を表示
・
マウスの方にショット発射
・
マウスの方に撃ったショットが落下していく
・
進行方向に合わせてショット画像を回転
・
文字列を見やすくするウィンドウ
・
矢印画像をクリックしてステータス変更
・
クリックした矢印画像を動かす
・
クリックした矢印画像を変更する
・
文字列の描画(中央揃え)
・
文字列の描画(右揃え)
・
1文字ずつ表示(半角文字のみ)
・
1文字ずつ表示(全角文字のみ)
・
1文字ずつ表示(半角と全角の文字列)
・
揺れ演出
・
スコアが増えた時、スコア表示は徐々に増えていく
・
増えたスコアが大きな値でもスムーズに表示を増やしていく
・
HPが1増えたり減ったりした時のバーの移動
・
HPの量によって色が変わるバー
・
当たった時の点滅処理と点滅中はダメージを受けない
・
当たった時の跳ね返り(ノックバック)
・
半透明背景のメニュー表示
・
ポーズメニュー表示
・
マウスに向かってプレイヤー移動
・
プレイヤーが近づいたらプレイヤーに向かってアイテム移動
・
選択プレイヤーに向かってカーソル移動
・
プレイヤーと当たったボールが飛んでいく
・
線に沿ってプレイヤーの移動
・
マウス座標に一番近いプレイヤーにカーソル
・
重ならないようにランダム配置
ゲームプログラム(3D)
主に3D関係の処理になります。
サンプルプログラムで記述している描画や操作関係はDXライブラリを使っていますが、
DXライブラリを使わない環境でも処理としては同じような実装で動作すると思います。
・
十字キーでプレイヤーの移動と向きの変更
・
十字キーでカメラの移動
・
プレイヤー座標に合わせて移動するカメラ
・
カメラの切り替え
・
ジャンプ(3D)
・
回転と移動(3D)
・
後方視点カメラ
・
自分視点カメラ
・
斜め後ろから見るカメラ
・
特定範囲になったら切り替わるカメラ
・
たくさんの敵モデルをランダムに配置
・
3D座標を使って2Dのミニマップに描画
・
カメラに合わせてプレイヤー中心のミニマップ
・
プレイヤー(球)とボールの当たり判定
・
プレイヤーが近づいたらプレイヤーに向かってボール移動
・
プレイヤーと当たったボールが飛んでいく
・
プレイヤーがボールを押していく
・
線に沿ってプレイヤーの移動
・
プレイヤーの周りから見るカメラ1
・
プレイヤーの周りから見るカメラ2
・
一定距離でプレイヤーについていくカメラ
・
遠かったらプレイヤーについていくカメラ
・
マウスドラッグでプレイヤーの周りを回転するカメラ
・
マウスホイールの回転でカメラ座標を変更
・
マウスドラッグでカメラの回転とマウスホイールで距離を変更
・
マウスドラッグでカメラの向きの変更
・
回転しているカメラに対して前後左右の移動
その他
・
利用規約、プライバシーポリシー、使用ライブラリについて