若い頃、ゲームメーカーというツールをよく使っていました。そこからプログラミングを学び始めました。私は今それをはるかに超えていますが、振り返ってみると、その機能とデザインのいくつかは非常に興味深いものです. C++ を使用して、このツールと同様の機能を実装するにはどうすればよいでしょうか。私は疑問に思っています:
- オブジェクト/クラス
Game Makerには、作成する「オブジェクト」のリストがありました。これらは、基本的にすべてが同じ基本クラス(今はゲームオブジェクトと呼びます)から派生した単なる異なるクラスであり、オブジェクトタイプを取る「instance_create」と呼ばれるシステム関数です。パラメータとして。C++ では、これは次のようになります (ただし、構文的には非常に正しくありません)。
class MyGameObject : GameObject
{
//...
}
GameObject instance_create(class objecttype)
{
objecttype newinstance = new objecttype();
return newinstance
}
GameObject* gameobjectinstance = instance_create(MyGameObject);
それを実装するにはどうすればよいですか?
- システム変数/関数
ゲーム・メーカーには、どこからでもアクセスできるシステム変数と関数がありました。限目。どこでも。私はグローバルを考えていますが、それが悪い設計であることは知っています。私はグローバルクラスを持ち、変数/関数を静的として持っていると考えていますが、それらは変更できません。どうすればいいですか?
- 変数
Game Maker には var という 1 つのデータ型しかありませんでした。文字列、整数、小数など、何でもかまいません。そして、それらの間の変換のためのシステム関数がありました。
最後に、ある種のスクリプトでオブジェクト タイプを定義するにはどうすればよいでしょうか。たとえば、新しいタイプのオブジェクトを追加したい場合は、新しいスクリプトを作成しますか? C++ は実行時にオブジェクト型を作成できないと思いますが、どうすればよいでしょうか?