[PR]
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
プログラミング、3DCGとその他いろいろについて
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
Microsoft Visual C# Codename "Orcas" Express Editionで、
空のプロジェクトを作ってからクラスを追加すると
次のようなエラーが出てコンパイルできません。
The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?)
そしてご丁寧にも下のような青い線が出ます。
どうしてこのような問題が起きるのかと言うと、
Visual Studioではクラスを新しく追加したときに
いくつかの良く使われる名前空間を
自動的にusingしてくれるのですが
このうちSystem.Linqはプロジェクトのアセンブリの参照に
最初は入っていないと言うわけですね。
System.Linqを使えるようにし、コンパイルできるようにするには
System.Coreアセンブリの参照を追加してやる必要があります。
やりかたは、Solution ExplorerのReferencesを右クリック
→Add Reference...をクリック(Add Referenceダイアログボックスが出ます)
→.NetタブからSystem.Coreを選択してOKボタンを押します。
です。
ちょっと最近更新がありませんでしたが、
ゲームを作っていました。
といっても使ったのはXNAではなくManaged DirectXです。
最初はXNAを使って作っていたのですが、
テストプレイヤーの弟達のパソコンが古いんで
動かないんですね・・・・・・。
(盲点でした。)
仕方なくManaged DirectXを使うことにしたのですが、
改めて比較するとXNAより簡単な部分が
それなりにあるように思えます。
物を半透明にするアルファ・ブレンディングですが、
ブレンド関数を使うことによってもっと別のことも出来ます。
アルファ・ブレンディングとはもう少し一般的にいうと、
色を混ぜる(ブレンドする)ということです。
ある混ぜ方をすると物が半透明になりますが、
別の混ぜ方をすれば別の効果が得られます。
前回では2つの色は常に足されましたが、(変わったのは係数だけ)
これは逆に引いたり、あるいは最大値をとったり、
最小値をとったりするようにも変更できます。
(そのため、アルファは単なる不透明度ではない場合だってたくさんあり、
むしろそれがほとんどなのです。)
このような、混ぜ方の関数を設定するのが
RenderState.BlendFunctionプロパティです。