我遇到的问题是我捡起一个掉落的物品,给枪添加弹药。
使用所有方法和变量构建了一个 Gun 类。构建了一个从 Gun 类派生的 Rifle 类 The Rifle 完美无缺
我现在正在添加一个“拾取”系统,其中 x 数量的敌人会掉落拾取物。
这是要拾取的项目上的脚本
public class AddARAmmo : MonoBehaviour
{
private Rifle rifle;
private void Awake()
{
rifle = FindObjectOfType<Rifle>();
}
private void OnTriggerEnter(Collider other)
{
if (other.tag == string.Format("Player"))
{
rifle.AddAmmo(30);
Destroy(gameObject);
}
}
}
Run Code Online (Sandbox Code Playgroud)
步枪和枪的脚本有点长,但这里是枪基类中的相关内容是公共抽象类......
public int bulletsInStock;
public void AddAmmo(int ammoToAdd)
{
bulletsInStock += ammoToAdd;
UpdateAmmo();// updates on screen Ammo
}
......
Run Code Online (Sandbox Code Playgroud)
然后在步枪班
public override void Modifiers() // This is where the guns starts are stored …Run Code Online (Sandbox Code Playgroud) 我正在做"Udemy - 通过开发你的第一个游戏来学习用C++编写代码",这是一个虚幻的引擎C++基础课程,在这个课程中你开发了一个用户试图猜测一个单词的小游戏.
代码效果很好.但我想加入它.我在下面创建了代码并且效果很好.但它是UGGGGLLLY.由于我还处于早期学习阶段,我想开始养成正确的习惯.
所以问题是如何使所有这些If语句消失或凝结.如果我想再添加50个单词,我不想再创建50个if语句.
我试图将ISecret更改为FString并使用该数字从HIDDEN_WORD [1]获取数字,但它没有按计划工作.
这就是我的想法:
ISecret[1-100] = MyHiddenWord[1-100] = HIDDEN_WORD[1-100]
Run Code Online (Sandbox Code Playgroud)
我知道这不起作用,我知道我必须在银行中列出"单词",但是我可以创建一个单词库并列出银行中的所有单词吗?
int32 ISecret; //This section generates a
srand(time(NULL)); // random number between 1 and 10.
ISecret = rand() % 10, 1;///
const FString HIDDEN_WORD01 = "planet";
const FString HIDDEN_WORD02 = "bait";
const FString HIDDEN_WORD03 = "dog";
const FString HIDDEN_WORD04 = "cat";
const FString HIDDEN_WORD05 = "stream";/// These are the Hidden words
const FString HIDDEN_WORD06 = "taco";
const FString HIDDEN_WORD07 = "ship";
const FString HIDDEN_WORD08 = "balcony";
const …Run Code Online (Sandbox Code Playgroud)