当我年轻的时候,我经常使用一个叫做 Game Maker 的工具。我开始学习编程。我现在远远超出了这个范围,但回过头来看,它的一些功能和设计非常有趣。我想知道 - 我将如何使用 C++ 实现类似于此工具的功能?我想知道:
- 对象/类
Game Maker 有一个您将创建的“对象”列表,它们本质上只是从同一个基类派生的不同类(我现在将其称为 GameObject)和一个名为“instance_create”的系统函数,该函数将采用对象类型作为参数。在 c++ 中,这看起来像这样(虽然语法上非常不正确):
class MyGameObject : GameObject
{
//...
}
GameObject instance_create(class objecttype)
{
objecttype newinstance = new objecttype();
return newinstance
}
GameObject* gameobjectinstance = instance_create(MyGameObject);
我将如何实施呢?
- 系统变量/函数
Game Maker 拥有可以从任何地方访问的系统变量和函数。时期。任何地方。我在考虑全局变量,但我知道这是糟糕的设计。我在想拥有一个全局类,并将变量/函数设为静态,但是它们不能被改变。我该怎么做?
- 变量
Game Maker 只有一种数据类型——var。它可以是一个字符串、一个整数、一个小数,任何东西。并且有系统函数可以在它们之间进行转换。
最后,如何在某种脚本中定义对象类型?比如,如果我想添加一种新类型的对象,创建一个新脚本?我不认为 C++ 可以在运行时创建对象类型,那么我该怎么做呢?