![見出し画像](https://assets.st-note.com/production/uploads/images/77462805/rectangle_large_type_2_a1499bb793e9623ff2002a8983fd2bc5.png?width=800)
アイテムの実装とプレイヤーの変更
今回実装する事
アイテムの実装
![](https://assets.st-note.com/img/1651237749358-ABILaMXSGx.png?width=800)
上記の画像のアイテムを実装する。
Mayaでモデル(仮)を作成しました!
このモデルを取り込みます。
![](https://assets.st-note.com/img/1651237910596-CIE3tOHdRa.png?width=800)
上記はアイテム専用クラスの実装!
// モデルデータの入っているフォルダの指定
std::unique_ptr<EffectFactory> factory = std::make_unique<EffectFactory>(mpDevice);
factory->SetDirectory(L"Resources/Models");
//モデルの作成
for (int i = 0; i < MODEL_NUM; i++)
{
mModel[i] = Model::CreateFromCMO(mpDevice, L"Resources/Models/Item.cmo", *factory);
}
モデル.fbxを、モデル.cmoに変更し取り込む!
今はここまで ~更新次第変更~
プレイヤーとの当たり判定
当たり判定は、円と円の当たり判定でとっています!
![](https://assets.st-note.com/img/1651252683498-rgnbCFXDPZ.png?width=800)
![](https://assets.st-note.com/img/1651253809050-hMfCYhqHzT.png?width=800)
こんな感じの処理をここでは行っています~
アイテムの半径と、プレイヤーの半径を持ってくる!(((/;-"-)
当たり判定の実装は終わったので次は、当たった時の見た目を変更する!
プレイヤーの見た目変更
当たり判定関数の戻り値が"true"であれば当たっている"false"であれば当たっていないという処理になっているため、trueを受け取った時に見た目を変更する!
![](https://assets.st-note.com/img/1651254081858-bvRFbLYJBN.png?width=800)
"プレイヤーとの当たり判定"で実装した関数を利用して、当たり判定を取っています。
当たった時(true)だったら、プレイヤーの見た目を変更!
今回はプレイヤーに持たせているbool型のフラグを切り替えています。
結果
以上で終わりますー!
ありがとうございました!
この記事が気に入ったらサポートをしてみませんか?