敵に倒され、敵を倒しと、できる様になったので、次は敵を倒した時にランダムでアイテムを出す機能を実装する事にした。
ぼんやりと考えていたのが、ItemDataを作っておき、そこにGameObjectを格納しておく。
敵を倒したタイミングで、ItemGeneratorが、乱数で出現アイテムを決め、ItemDataからGameObjectを取得してきて、敵の位置にInstantiateさせる。
倒した敵によって出現しやすいアイテムを決めてやれば、雑魚からは雑魚いアイテム、中ボスからは良いアイテムを出しやすくさせることができるだろう。
ItemGeneratorは他のステージでも使い回すためにシングルトン構造にしておいた。
スクリプトはこんな感じ。
将来的には、こっちで乱数生成して発生アイテムを決める様にする予定。
今日のところは、とりあえず実験的に、敵側で乱数処理して、その結果をItemGeneratorに渡してやる事にした。
そして、敵のスクリプトの死亡メソッドにItemGeneratorへ位置と生成アイテム番号を渡してやる処理を追加する。
こちらも将来的には、どの確率でどのアイテムが出るかの情報を渡してやるように修正する予定。
使用アセット
Pixel Fantasy Caves
Hero Knight - Pixel Art
Slime Character
Pixel Potions (with Animation)
Animated 2D Coins
Bandits - Pixel Art
使用画像
七三ゆきのアトリエ:https://nanamiyuki.com/