忍者ブログ

Memeplexes

プログラミング、3DCGとその他いろいろについて

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


"Orcas"でEmpty Projectを作ってクラスを追加したときにSystem.Linq名前空間が見つからないエラー

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?)

そしてご丁寧にも下のような青い線が出ます。

orcasError.JPG

どうしてこのような問題が起きるのかと言うと、
Visual Studioではクラスを新しく追加したときに
いくつかの良く使われる名前空間を
自動的にusingしてくれるのですが
このうちSystem.Linqはプロジェクトのアセンブリの参照に
最初は入っていないと言うわけですね。

System.Linqを使えるようにし、コンパイルできるようにするには
System.Coreアセンブリの参照を追加してやる必要があります。

やりかたは、Solution ExplorerのReferencesを右クリック
→Add Reference...をクリック(Add Referenceダイアログボックスが出ます)
→.NetタブからSystem.Coreを選択してOKボタンを押します。
です。

拍手[1回]

PR

Managed DirectXとXNA

ちょっと最近更新がありませんでしたが、
ゲームを作っていました。

といっても使ったのはXNAではなくManaged DirectXです。

最初はXNAを使って作っていたのですが、
テストプレイヤーの弟達のパソコンが古いんで
動かないんですね・・・・・・。
(盲点でした。)

仕方なくManaged DirectXを使うことにしたのですが、
改めて比較するとXNAより簡単な部分が
それなりにあるように思えます。

拍手[0回]


かんたんXNA その25 ブレンド関数

このページは古いです
最新版はこちら

物を半透明にするアルファ・ブレンディングですが、
ブレンド関数を使うことによってもっと別のことも出来ます。

アルファ・ブレンディングとはもう少し一般的にいうと、
色を混ぜる(ブレンドする)ということです。
ある混ぜ方をすると物が半透明になりますが、
別の混ぜ方をすれば別の効果が得られます。

前回では2つの色は常に足されましたが、(変わったのは係数だけ)
これは逆に引いたり、あるいは最大値をとったり、
最小値をとったりするようにも変更できます。
(そのため、アルファは単なる不透明度ではない場合だってたくさんあり、
むしろそれがほとんどなのです。)


このような、混ぜ方の関数を設定するのが
RenderState.BlendFunctionプロパティです。

拍手[0回]


マウスが左利き設定になっているかどうかを調べるには?

XNAのMouseStateはマウスが左利きの設定になっているかどうかを考慮しません。
常に物理的なマウスのボタンの状態を保持しています。

そのため、単に「クリックしたときに弾が出る」ようにプログラムすると、左利きの人にとっては「右クリックしたときに弾が出る」ようになるのです。(完全に余談ですが、ぼくは左利きで、こういう事態に陥ったとき非常に腹が立ちます。まったくもう!)

これを避けるためには、マウスが左利き用になっているかどうかを調べる必要があります。

この方法を2つ紹介します。

拍手[0回]


かんたんXNA その24 アルファ・ブレンディング

このページは古いです
最新版はこちら

XNAでは物を半透明に描くことが出来ます。
ゼリーのように、後ろのものが透けて見えるのです。

これをアルファ・ブレンディングと言います。
不透明度(アルファ)を考慮する描画だからです。

アルファ・ブレンディングを使うには、まず

拍手[1回]