ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

シール型

今までベクトル型を用意しないでコーディングしてきたのだけれども、ベクトル演算を使う処理が多くなってきたのでベクトル型を作ることにした。
で、待てよとYanesdkを見てみるとYanesdk.MathにVector2D、Vector3Dが用意されていた。ということでこちらを使うことに。
ベクトルを正規化するメソッドが欲しかったのでVector2Dを継承して追加しようとしたら、「シール型から派生することはできない」というエラーが。
シール型って何?と調べてみると、シールクラスやシールメソッドは継承できないようになるとのこと。シール型にするにはsealed修飾子をつければよい。
また構造体もシールされている。なので構造体であるYanesdkのVector2Dも継承することは出来ない。
シールクラスは実行時の最適化でメンバを多少高速に呼び出すことができる場合があるとのこと。
さて、勉強にもなるのでベクトル型は自前で実装することにしよう。