スコープ外で作成されたクラス内の変数をトラッキングしたいとします。私はちょうどこのようなポインタを渡すだろうC + +で。メンバ変数をクラス外のオブジェクトに設定する
class Camera
{
Player* player;
Position pos;
void setFollow(Player* pl) { pl = player; }
void update() { pos = pl->getPos(); }
}
int Main()
{
Camera* camera = new Camera();
Player* player = new Player();
camera->setFollow(player);
}
C#では参照渡ししようとしましたが、動作しませんでした。
public class Game1 : Microsoft.Xna.Framework.Game
{
Camera cam = new Camera();
Player player = new Player();
cam.setFollow(ref player); // <-- by reference
}
これは実際のコードの短縮版です。
ありがとうございました。
編集:すべての情報に感謝します。
多分setFollow(プレイヤー)? – Cynede
それはちょうど価値によって渡すだろうか?だから、プレイヤーがカメラを更新したときには更新されません。 – rocklobster
解説を読んでそこにたくさんのものがあります – Cynede