シューティングゲーム(非FPS)製作技術総合at GAMEDEVシューティングゲーム(非FPS)製作技術総合 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト689:名前は開発中のものです。 10/09/23 03:18:16 Jre2ShzM 一番上と自分のIDを子に渡すだった。。。 690:名前は開発中のものです。 10/09/24 01:46:36 4mRtFkVz な、何でこんなににぎわってるんだすごくうれしいぞ!どんなレスでもにぎわってるほうがいいなやはり。 >>683 基本的には>>688のとおり。スキンメッシュやアニメーションメッシュなんかも原理的にはこれ。 class NestableUnit{ public NestableUnit Parent; public List<NestableUnit> Children; public PosVelocityAccele GrobalMoveState; protected PosVelocityAccele localMoveState; public abstract void Move(object arg); public abstract void Draw(Vector3 addPosition); //大きい敵撃破時の振動エフェクト処理など、衝突判定その他には関係ないが描画位置を動かしたい場合にここから渡す。 ・・・ } class UnitA : NestableUnit{ public override void Move(object arg){ foreach(a this.Children){ a.Move(this); } } } グローバル座標は、直親のグローバル座標と子のローカル座標から算出。 判定処理はもちろんグローバル座標で処理する。 ・・・ただ、実際のところほとんどの敵キャラは座標の階層化しないから、うちはNestableUnitの親にCustomUnitがいて、ほとんどの表示物はそいつの派生になってる。 Unit(汎用クラス。ほぼインタフェース状態。) -CustomUnit(自分のゲームシステム用にメンバの追加や基本処理でoverrideを行ったもの。自分は最近接キャラに対する追尾弾などを処理するのを楽するため、StageはList<CustomUnit>をもち、CustomUnitはStageを持つ。) --CustomNestableUnit(触手系用にメンバを増やしたもの。) --Custom3DUnit(Unitはスクリーン座標管理なので、3Dグラフィックのキャラをスクリーン座標で管理できるようにしたもの。) 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch