ゲームプログラミング入門 本格的なシューティングゲームを実現するタスクシステム 複数の処理を管理・実行する仕組み ひよこ[著] 更新日: 2006/07/24 公開日: 2006/02/02 C++ Windows ポスト ダウンロード サンプルファイル (485.3 KB) 目次 Page 1 はじめに 対象読者 必要な環境 タスクシステムの設計 Page 2 タスクシステムの定義 タスクリストの初期化 タスクの生成・追加 タスクの削除 タスクリストのデフラグ 全てのタスクを実行 自分以外のタスクを削除 タスクリストの解放 優先度の変更 メモリ領域の内容をテキストファイルに書き出す 使用中のタスクに割り当てているバイト数を返す 使用中のタスク数を返す Page 3 拡張タスクシステムの定義 タスクリストとゲームの初期化 全てのタスクを描画 指定したグループのタスクだけを描画 自分以外の指定したグループのタスクだけを削除 指定したグループのタスク数を返す 指定したグループの指定した順番のタスクを返す 自分のデータを取得 コンストラクタ Page 4 タスクシステムを動かす 自機タスク 定数 コンストラクタ デストラクタ 描画関数 処理関数 移動させる 耐久力を減らす まとめ 参考文献 会員登録無料すると、続きをお読みいただけます 新規会員登録無料のご案内 ・全ての過去記事が閲覧できます ・会員限定メルマガを受信できます メールバックナンバー 新規会員登録無料 ログイン Page 1 はじめに 対象読者 必要な環境 タスクシステムの設計 Page 2 タスクシステムの定義 タスクリストの初期化 タスクの生成・追加 タスクの削除 タスクリストのデフラグ 全てのタスクを実行 自分以外のタスクを削除 タスクリストの解放 優先度の変更 メモリ領域の内容をテキストファイルに書き出す 使用中のタスクに割り当てているバイト数を返す 使用中のタスク数を返す Page 3 拡張タスクシステムの定義 タスクリストとゲームの初期化 全てのタスクを描画 指定したグループのタスクだけを描画 自分以外の指定したグループのタスクだけを削除 指定したグループのタスク数を返す 指定したグループの指定した順番のタスクを返す 自分のデータを取得 コンストラクタ Page 4 タスクシステムを動かす 自機タスク 定数 コンストラクタ デストラクタ 描画関数 処理関数 移動させる 耐久力を減らす まとめ 参考文献 1 2 3 4 PREV 修正履歴 2006/07/24 19:47 後処理関数を排除。基本クラスのデストラクタを仮想関数とすることで、派生クラスのデストラクタも呼び出されるようにした。 タスクを先頭に挿入するときに m_active を更新していなかったバグを修正(operator new および SetPriority)。 この記事は参考になりましたか? 0参考になった 印刷用を表示 ポスト ゲームプログラミング入門連載記事一覧 本格的なシューティングゲームを実現するタスクシステム 落ち物ゲームの作り方 第2回:「聖夜の落とし物」編 落ち物ゲームの作り方 第1回:「TETRA」編 もっと読む この記事の著者 ひよこ(ヒヨコ) 職業ゲームプログラマーを志す学生です。 ※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です この著者の最近の執筆記事 この記事は参考になりましたか? 0 参考になった この記事をシェア ポスト シェア CodeZine(コードジン) codezine.jp https://codezine.jp/static/common/images/czlogo4fb_ogp.png https://codezine.jp/article/detail/297 2006/07/24 19:47 Special Contents AD キャリアインタビュー AD おすすめ アクセスランキング 1 ITエンジニア本大賞2025、投票締切直前! みんなで選んだ歴代の大賞本を振り返って一挙紹介 NEW 2 「Svelte」でコンポーネントの表示・更新時に処理を実行できるライフサイクル関数の利用 NEW 3 週5出社になった場合に約半数のITエンジニアは「転職する」と回答、ITエンジニア向け転職サービス「LAPRAS」が調査 4 脱落者が出がちな社内イベントを継続させるには? ITエンジニアが技術力で支える健康推進プロジェクトに学ぶ NEW 5 エンジニアの成長をブーストさせる! 2025年に向けて注目したいコミュニティ──技術・マネジメント・プロダクト開発まで 6 2024年12月に開催される注目のITエンジニア向けカンファレンス5選 7 日本在住の英語を話すソフトウェア開発者、年収の中央値は950万円に NEW 8 生成AI×社内データで生産性はここまで上がる! 活用方法の分類と実現のポイントをデプロイ王子が解説 NEW 9 【エンジニアのためのドキュメントライティング術】最低限知っておきたい、ドキュメントの重要性と書きはじめる前の準備 10 クレディセゾンのDXを支えるバイモーダル戦略とは? 要となるコミュニケーション手法と共に解説 NEW アクセスランキング 今日 月間 1 ITエンジニア本大賞2025、投票締切直前! みんなで選んだ歴代の大賞本を振り返って一挙紹介 NEW 2 「Svelte」でコンポーネントの表示・更新時に処理を実行できるライフサイクル関数の利用 NEW 3 週5出社になった場合に約半数のITエンジニアは「転職する」と回答、ITエンジニア向け転職サービス「LAPRAS」が調査 4 脱落者が出がちな社内イベントを継続させるには? ITエンジニアが技術力で支える健康推進プロジェクトに学ぶ NEW 5 エンジニアの成長をブーストさせる! 2025年に向けて注目したいコミュニティ──技術・マネジメント・プロダクト開発まで 6 2024年12月に開催される注目のITエンジニア向けカンファレンス5選 7 日本在住の英語を話すソフトウェア開発者、年収の中央値は950万円に NEW 8 生成AI×社内データで生産性はここまで上がる! 活用方法の分類と実現のポイントをデプロイ王子が解説 NEW 9 【エンジニアのためのドキュメントライティング術】最低限知っておきたい、ドキュメントの重要性と書きはじめる前の準備 10 クレディセゾンのDXを支えるバイモーダル戦略とは? 要となるコミュニケーション手法と共に解説 NEW 1 VSCodeをドキュメント作成に活用――テキストエディタ、Markdownエディタの設定と拡張機能を解説 2 Python 3.13の新機能、対話型インタプリタの機能強化や高速化などを解説 3 高パフォーマンスなコードを書くために不可欠の知識、『なっとく! 並行処理プログラミング』発売 4 今後生成AIとどう向き合うべきなのか? 現場のエンジニアと研究者が最新研究事例から語り合う 5 Vue.js3.4~3.5の新機能をまとめて紹介! 新しいAPIやSSRの改善 6 なぜバックエンド開発にRustを使うのか? その魅力はパフォーマンス、安全性、生産性の高さ 7 2024年12月に開催される注目のITエンジニア向けカンファレンス5選 8 PHPパッケージ管理ツール「Composer」の処理の仕組みを見てみよう! 9 フリーランスエンジニアに求められる能力とは? ギークスが調査レポートを発表 10 GitHub Copilotを使用して作成されたコード、機能性、可読性、信頼性、保守性、簡潔さが向上していることが明らかに イベント CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。 新規会員登録無料のご案内 ・全ての過去記事が閲覧できます ・会員限定メルマガを受信できます メールバックナンバー 新規会員登録無料 ログイン アクセスランキング 1 ITエンジニア本大賞2025、投票締切直前! みんなで選んだ歴代の大賞本を振り返って一挙紹介 NEW 2 「Svelte」でコンポーネントの表示・更新時に処理を実行できるライフサイクル関数の利用 NEW 3 週5出社になった場合に約半数のITエンジニアは「転職する」と回答、ITエンジニア向け転職サービス「LAPRAS」が調査 4 脱落者が出がちな社内イベントを継続させるには? ITエンジニアが技術力で支える健康推進プロジェクトに学ぶ NEW 5 エンジニアの成長をブーストさせる! 2025年に向けて注目したいコミュニティ──技術・マネジメント・プロダクト開発まで 6 2024年12月に開催される注目のITエンジニア向けカンファレンス5選 7 日本在住の英語を話すソフトウェア開発者、年収の中央値は950万円に NEW 8 生成AI×社内データで生産性はここまで上がる! 活用方法の分類と実現のポイントをデプロイ王子が解説 NEW 9 【エンジニアのためのドキュメントライティング術】最低限知っておきたい、ドキュメントの重要性と書きはじめる前の準備 10 クレディセゾンのDXを支えるバイモーダル戦略とは? 要となるコミュニケーション手法と共に解説 NEW アクセスランキング 今日 月間 1 ITエンジニア本大賞2025、投票締切直前! みんなで選んだ歴代の大賞本を振り返って一挙紹介 NEW 2 「Svelte」でコンポーネントの表示・更新時に処理を実行できるライフサイクル関数の利用 NEW 3 週5出社になった場合に約半数のITエンジニアは「転職する」と回答、ITエンジニア向け転職サービス「LAPRAS」が調査 4 脱落者が出がちな社内イベントを継続させるには? ITエンジニアが技術力で支える健康推進プロジェクトに学ぶ NEW 5 エンジニアの成長をブーストさせる! 2025年に向けて注目したいコミュニティ──技術・マネジメント・プロダクト開発まで 6 2024年12月に開催される注目のITエンジニア向けカンファレンス5選 7 日本在住の英語を話すソフトウェア開発者、年収の中央値は950万円に NEW 8 生成AI×社内データで生産性はここまで上がる! 活用方法の分類と実現のポイントをデプロイ王子が解説 NEW 9 【エンジニアのためのドキュメントライティング術】最低限知っておきたい、ドキュメントの重要性と書きはじめる前の準備 10 クレディセゾンのDXを支えるバイモーダル戦略とは? 要となるコミュニケーション手法と共に解説 NEW 1 VSCodeをドキュメント作成に活用――テキストエディタ、Markdownエディタの設定と拡張機能を解説 2 Python 3.13の新機能、対話型インタプリタの機能強化や高速化などを解説 3 高パフォーマンスなコードを書くために不可欠の知識、『なっとく! 並行処理プログラミング』発売 4 今後生成AIとどう向き合うべきなのか? 現場のエンジニアと研究者が最新研究事例から語り合う 5 Vue.js3.4~3.5の新機能をまとめて紹介! 新しいAPIやSSRの改善 6 なぜバックエンド開発にRustを使うのか? その魅力はパフォーマンス、安全性、生産性の高さ 7 2024年12月に開催される注目のITエンジニア向けカンファレンス5選 8 PHPパッケージ管理ツール「Composer」の処理の仕組みを見てみよう! 9 フリーランスエンジニアに求められる能力とは? ギークスが調査レポートを発表 10 GitHub Copilotを使用して作成されたコード、機能性、可読性、信頼性、保守性、簡潔さが向上していることが明らかに