"自作ゲーム"カテゴリーの記事一覧
-
前に購入したWindowsAPIの入門書。
実は途中で挫折したままでした。ところが少し前に別の本で
少しだけAPIに触れた本を読んで見たら可能性が見えてきました。
案の定入門書がサクサク理解できるではないですか!
API独特のプログラム構成、
ウィンドプロシージャなどC言語のMain
関数の時とは全く組み方が違う感じでとても興味深い。
分からない方には「WindowsAPI?」と頭に
無数の「?」が浮かび上がることでしょうが、簡単に言うと
ウィンドウを動かすための関数キットのようなものです。
あなたのそのPCゲームのウィンドウさえもWindowsAPI
が使われています。ウィンドウの移動、収縮終了なども
いちいちプログラムを組む必要があるんですよね。
確かにHSPに比べウィンドウひとつ表示するのに一苦労
ではありますね^^
がしかし、
細部まで自分好みにカスタマイズできるので
ウィンドウプロシージャの仕組みを見る限りかなり自由度の高い
ソフトまで作れちゃいそうです。WinAPIは実にすばらしい・・・
ご覧の通りウィンドウ内に線や塗りつぶしなど
他人のライブラリ(XNAやDXライブラリ)に頼ることなく描画できて
しまうのはとても気持ち良いです。企業でも通用する方法でプログラム
を組むのってものすごくワクワクするんですよね^^
目指せFPSツクール!
PR -
C言語に限らずいろいろな言語で
「if」が使われていますね。
プログラムの大半はif文で成り立っている
と言っても過言では無いでしょう。
このifによってプログラム内容を分岐できる
訳ですが、実はC言語に於ける条件演算子は
if以外にも存在するんですね。
先ほど知ったばかりですが、「?」と「:」を使う
方法があります。
例えば「if」の場合で「Val」という変数の結果次第で
プログラムの分岐をする場合、
if (Val = 0){
~Valが0ならここの処理~
} else {
~Valが0以外ならここの処理~
}
となりますね。これをその方法で分岐してみますと、
Val == 0 ? ~Trueならここの処理~ : ~Falseならここの処理~
となります。
上と全く同じ事です。
この場合左の比較結果で「Valが0か」と比較してますね。
それに対して結果がその通りなら[:]の左に書いた文が実行され、
これまた違う場合は「:」の右の文が実行されます。
ifとelseを使う方法より、行数が少なくスマートですよね。
ものすごく短い文であればこちらの方法を使うのも悪くない
と思います。処理速度は知りませんけど。
-
先ほど大百科で初めて知りました。
ニコニコ生放送のリスナー及び放送主の役45.0%が20代を
占めている様です。ところがここ最近では10代が追いつきつつ
あるというのですからびっくり。
道理で大人な放送がなかなか見つからない訳ですね。
私はある程度人生経験のある年齢、もしくは精神年齢の高い方、
そんな放送をぜひ拝見させて頂きたいです。
カテゴリーで「年齢順」とか追加してもらえないですかねw -
最近ブロック崩しにハマってまして、Xbox360で有料配信されている
「Bricks4ever」というアーケードをチョクチョクプレイしてます。因みにこの
ゲームは個人がXNAで作ったオリジナルゲームで、企業さんじゃない
んです。すごいですね。
自分もHSPなどで作ってみたいと思ったものの、よくよく考えるとアクション
となる基本すら心得てない私なので、1から勉強する必要がありました。
とあるサイト様を参考にすれば作れそうですが、どうもそのソースは穴が
ある様でした。
ボールが画面端で跳ね返る処理はとても簡単に出来ますがブロックに
当たった場合の処理でやはり躓くんですよね。2Dの当り判定はキャラの
x,y座標に条件をつけることで判定の有無を出せますが、この方法ですと
超高速移動の際、すり抜けてしまう問題に遭遇するはずです。
更にブロック崩しではブロックのどの面に当たったかを求める必要が
あります。上の方法では当たっただけの処理なので併用するか別な
方法にする必要があります。
とりあえずブロックの件は後回しにしまして、
すり抜けない処理を施すことにしましょう。
と言うわけで「線分交差」とやらを勉強中でござる。