2017-09-28 9 views
0

Enumsに関する質問をしたかっただけです。列挙型のような扱いですか?

public enum CameraPosition 
{ 
    ROOM_1, 
    ROOM_2, 
    ROOM_3 
} 

それでは、私がやりたいことは、私は現在、ROOM_2で表される値を使用していますことを、例えば次のとおりです。私はこのようになります列挙型を得ました。今度はボタンを押すとROOM_1で表される値に切り替えるはずですが、ROOM_2からROOM_1になる場合はハードコードする必要はありません。

私のキャッシュされた値は、次のように定義されているのであれば:

pos = CameraPosition.ROOM_2 - 1; 

そして、それはそれposが今ROOM_1であることを意味する:

CameraPosition pos = CameraPosition.ROOM_2; 

私はこのような何かをしたいです。

これはEnumsで可能ですか、それとも達成するために私自身のソートをロールアップする必要がありますか?たぶん別のアプローチ。

+0

はい、可能です - 列挙型の値はC#の単純な整数です。あなたのUIでは、しかし、あなたはカメラを回りたいですか?カメラごとに1つのボタンがある場合、単にボタンのプロパティとしてCameraPositionを使用することができます。次に、その値をclickイベントの "pos"にコピーします。そのようなことに関わる数学はありません。 – theGleep

+0

@theGleepああ、それはシーン内に1台のカメラです。私はちょうどそれの位置を変更します。おそらく2つのボタン、1つは「ワン・ルーム・アップ」に、もう1つは「ワン・ルーム・ダウン」に行くためのボタンです。 – OmniOwl

+0

'k ...ええ、数学はおそらく必要です。 :) – theGleep

答えて

1

はい、できます。デフォルトでは、C#では列挙型はint(see documentation)です。あなたが好きなときは明示的に値を設定できます。0から始めることもできます。this questionの最初の答えも見てください。

+0

こんにちは大丈夫、ありがとう!私は本当にこのようにenumを使用していないので、私は頼むと思った。 – OmniOwl

関連する問題