ゲームプログラミング入門 本格的なシューティングゲームを実現するタスクシステム 複数の処理を管理・実行する仕組み ひよこ[著] 更新日: 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 NEXT 修正履歴 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 エンジニアからプロダクトマネージャーへ ──コンフォートゾーンを抜け出して得られたキャリアの解像度を高める方法 2 技術力だけじゃダメなのか? ──多彩なキャリアを歩むKOBA789氏が語るエンジニアの未来戦略 NEW 3 無料模擬試験サイト「PRIME STUDY」、Python試験とPHP試験の模擬試験の受験回数が累計20万人突破 NEW 4 【実践的ユニットテスト入門】今からでも遅くない! ソフトウェアの最小単位を自動でテストする 5 DMM TV、大手国内配信事業者としてははじめて、次世代動画圧縮コーデック技術「AV1」を採用 NEW 6 メシウス、帳票開発用JavaScriptライブラリ「ActiveReportsJS V5J」をリリース 7 ソフトウェアのアーキテクチャを専門職目線で基礎から解説、『アーキテクトの教科書』発売 8 「サードパーティークッキー」 ~マンガでプログラミング用語解説 9 「Svelte」の活用に不可欠──プロジェクト構成とコンポーネント利用法を解説! NEW 10 モビリティ業界でのソフトウェア領域の重要性とは?──LLM活用で切り開く「完全自動運転」の現在 アクセスランキング 今日 月間 1 エンジニアからプロダクトマネージャーへ ──コンフォートゾーンを抜け出して得られたキャリアの解像度を高める方法 2 技術力だけじゃダメなのか? ──多彩なキャリアを歩むKOBA789氏が語るエンジニアの未来戦略 NEW 3 無料模擬試験サイト「PRIME STUDY」、Python試験とPHP試験の模擬試験の受験回数が累計20万人突破 NEW 4 【実践的ユニットテスト入門】今からでも遅くない! ソフトウェアの最小単位を自動でテストする 5 DMM TV、大手国内配信事業者としてははじめて、次世代動画圧縮コーデック技術「AV1」を採用 NEW 6 メシウス、帳票開発用JavaScriptライブラリ「ActiveReportsJS V5J」をリリース 7 ソフトウェアのアーキテクチャを専門職目線で基礎から解説、『アーキテクトの教科書』発売 8 「サードパーティークッキー」 ~マンガでプログラミング用語解説 9 「Svelte」の活用に不可欠──プロジェクト構成とコンポーネント利用法を解説! NEW 10 モビリティ業界でのソフトウェア領域の重要性とは?──LLM活用で切り開く「完全自動運転」の現在 1 "代替"されないエンジニアになるために──生成AI時代に求められるスキルポートフォリオとは 2 ChatGPTが普及した未来、プログラマーに求められることとは? 生成AIの普及と落とし穴 3 Pythonの爆速化! ピュアPythonに組み込まれている機能でコードの最適化を実現するには 4 小学6年生の「将来就きたい職業」、「IT関係」がトップ3に 5 Modern C++のモダンな言語仕様はもっとある! C++ 14から最新版までまとめて紹介 6 【作って学ぶPython】クラスとスプライトを学んでメンテナンスしやすいコードを書こう! 7 なぜアジャイルの導入は難しいのか? アジャイルとウォーターフォールの目的の違いから考える 8 Webページ用UIフレームワーク「Svelte」とは? プレーンで軽量なJavaScript生成を体験しよう! 9 2024年7月に開催される注目のITエンジニア向けカンファレンス5選 10 ソフトウェアのアーキテクチャを専門職目線で基礎から解説、『アーキテクトの教科書』発売 イベント CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。 新規会員登録無料のご案内 ・全ての過去記事が閲覧できます ・会員限定メルマガを受信できます メールバックナンバー 新規会員登録無料 ログイン アクセスランキング 1 エンジニアからプロダクトマネージャーへ ──コンフォートゾーンを抜け出して得られたキャリアの解像度を高める方法 2 技術力だけじゃダメなのか? ──多彩なキャリアを歩むKOBA789氏が語るエンジニアの未来戦略 NEW 3 無料模擬試験サイト「PRIME STUDY」、Python試験とPHP試験の模擬試験の受験回数が累計20万人突破 NEW 4 【実践的ユニットテスト入門】今からでも遅くない! ソフトウェアの最小単位を自動でテストする 5 DMM TV、大手国内配信事業者としてははじめて、次世代動画圧縮コーデック技術「AV1」を採用 NEW 6 メシウス、帳票開発用JavaScriptライブラリ「ActiveReportsJS V5J」をリリース 7 ソフトウェアのアーキテクチャを専門職目線で基礎から解説、『アーキテクトの教科書』発売 8 「サードパーティークッキー」 ~マンガでプログラミング用語解説 9 「Svelte」の活用に不可欠──プロジェクト構成とコンポーネント利用法を解説! NEW 10 モビリティ業界でのソフトウェア領域の重要性とは?──LLM活用で切り開く「完全自動運転」の現在 アクセスランキング 今日 月間 1 エンジニアからプロダクトマネージャーへ ──コンフォートゾーンを抜け出して得られたキャリアの解像度を高める方法 2 技術力だけじゃダメなのか? ──多彩なキャリアを歩むKOBA789氏が語るエンジニアの未来戦略 NEW 3 無料模擬試験サイト「PRIME STUDY」、Python試験とPHP試験の模擬試験の受験回数が累計20万人突破 NEW 4 【実践的ユニットテスト入門】今からでも遅くない! ソフトウェアの最小単位を自動でテストする 5 DMM TV、大手国内配信事業者としてははじめて、次世代動画圧縮コーデック技術「AV1」を採用 NEW 6 メシウス、帳票開発用JavaScriptライブラリ「ActiveReportsJS V5J」をリリース 7 ソフトウェアのアーキテクチャを専門職目線で基礎から解説、『アーキテクトの教科書』発売 8 「サードパーティークッキー」 ~マンガでプログラミング用語解説 9 「Svelte」の活用に不可欠──プロジェクト構成とコンポーネント利用法を解説! NEW 10 モビリティ業界でのソフトウェア領域の重要性とは?──LLM活用で切り開く「完全自動運転」の現在 1 "代替"されないエンジニアになるために──生成AI時代に求められるスキルポートフォリオとは 2 ChatGPTが普及した未来、プログラマーに求められることとは? 生成AIの普及と落とし穴 3 Pythonの爆速化! ピュアPythonに組み込まれている機能でコードの最適化を実現するには 4 小学6年生の「将来就きたい職業」、「IT関係」がトップ3に 5 Modern C++のモダンな言語仕様はもっとある! C++ 14から最新版までまとめて紹介 6 【作って学ぶPython】クラスとスプライトを学んでメンテナンスしやすいコードを書こう! 7 なぜアジャイルの導入は難しいのか? アジャイルとウォーターフォールの目的の違いから考える 8 Webページ用UIフレームワーク「Svelte」とは? プレーンで軽量なJavaScript生成を体験しよう! 9 2024年7月に開催される注目のITエンジニア向けカンファレンス5選 10 ソフトウェアのアーキテクチャを専門職目線で基礎から解説、『アーキテクトの教科書』発売