C# 使用方法生成实例化的类数组
我有一个类“Bullet”,我使用方法CreateBullet()实例化它,因为将有多个Bullet,我决定将Bullet设置为一个数组,尽管这不起作用,我花了一个小时试图修复它 我在初始化方法中调用的内容:C# 使用方法生成实例化的类数组,c#,arrays,methods,initialization,C#,Arrays,Methods,Initialization,我有一个类“Bullet”,我使用方法CreateBullet()实例化它,因为将有多个Bullet,我决定将Bullet设置为一个数组,尽管这不起作用,我花了一个小时试图修复它 我在初始化方法中调用的内容: Bullet bullet[] = Bullet.CreateBullet[1](); 子弹级别: class Bullet { public float2 position; public float angle { get; set; } public flo
Bullet bullet[] = Bullet.CreateBullet[1]();
子弹级别:
class Bullet
{
public float2 position;
public float angle { get; set; }
public float speed { get; set; }
public static Bullet CreateBullet()
{
Bullet bullet = new Bullet()
{
position = new float2()
};
return bullet;
}
public void Move()
{
}
}
你能告诉我密码有什么问题吗?提前谢谢你。你可以做这样的事情,不完全是你想要达到的,但它可能会给你更多的启发 用法
这样,您可以创建一个包含5个项目符号的数组:
Bullet[] bullets = new Bullet[5];
然后需要为每个数组条目创建一个项目符号来填充数组:
for (int i = 0; i < bullets.Length; i++)
{
bullets[i] = Bullet.CreateBullet();
}
在学习如何填充最简单的数组之前制作游戏?这是错误的:
Bullet-Bullet[]=Bullet.CreateBullet[1]()代码>,除此之外。。。开始阅读您可能想查看泛型的文档:List
将更易于使用。抱歉,我知道这看起来很愚蠢,但我以前对数组几乎没有经验。谢谢,我将尝试使用列表:)无论如何,这里不必需要数组,正如@Polotoix所提到的,子弹类型的通用列表将做得更好。在这里查看它们>表示集合的类应该这样命名(“嘿,给我那个子弹”听起来很愚蠢),比如“BulletCollection”或“BulletList”。也就是说,除非你给它明确的与子弹相关的功能,否则我会坚持使用列表
。公平的评论,我个人喜欢子弹:)谢谢伟大而强大的萨鲁曼,你的魔法和代码比我强@克罗西很高兴我能help@Croccy记住,如果问题符合你的目的,请相应地进行投票和标记:)
Bullet[] bullets = new Bullet[5];
for (int i = 0; i < bullets.Length; i++)
{
bullets[i] = Bullet.CreateBullet();
}
public Bullet[] CreateBullets(int amount)
{
Bullet[] bullets = new Bullet[amount];
for (int i = 0; i < bullets.Length; i++)
{
bullets[i] = Bullet.CreateBullet();
}
return bullets;
}
public void Test()
{
Bullet[] bullets = CreateBullets(5);
}