2009-04-22から1日間の記事一覧

オートリピート

キーのオートリピート機能を作ろうと思って四苦八苦。 意外にややこしい。 基本的にはkeyPush?とpadPush?にかかるようにしようと思う。 考え方としては、最初に押されてから次の入力がはいるまでの時間(フレーム数)と、2回目以降の間隔(フレーム数)で設…

テトリスのデータ

昨日アップしたサンプルでは、わかりやすいように4×4の2次元配列でブロックを表現するようにしている。 単純にそれを右回転させることで回しているわけだ。 がんばって自分で計算してるけど、Rubyの配列だからその機能を使って、全体をtransposeして行ごと…

レースもどき

休み取っといてくだらないものを量産している。 # DXRuby0.0.5 サンプル レースもどき require 'dxruby' # コースデータ line1 = [53, 430, 568, 438, 568, 438, 607, 261, 607, 261, 520, 200, 520, 200, 531, 151, 531, 151, 602, 115, 602, 115, 562, 19,…

コースデータ作成ツール

ちなみにさっきのやつのコースデータはこんなツールで作成した。 # DXRuby0.0.5 サンプル コースデータ作成 require 'dxruby' image = Image.new(640, 480) image2 = Image.new(640, 480) x = 0 y = 0 ox = 0 oy = 0 flag = 0 data = [] Window.loop do imag…

DXRubySpriteのはなし

DXRubyのソースなんかマジメに読んでる人はいないとは思うが。 描画まわりの話を少し。 Window.draw系のメソッドは、DXRubySprite構造体を編集してメモリに保存しているだけである。 これは、描画実行部分とそれ以外の処理をほぼ完璧に分離するためにそうし…

DirectMusic

難しい。 ファイル1個再生するのに、パフォーマンスと、オーディオパスと、ローダと、セグメントのオブジェクトを作って、ファイルとバンドをロードして、あれやこれや設定して、ようやく再生。 なんでこんなにややこしいの。 そんだけいろんなことができる…

そーいえばテトリス

いろいろ調べてたときにこんなもんを見つけた。 http://www.hozen.org/bbs/84/48313/ ここでは議論がむちゃくちゃになってしまっているが、強いCPUとは、ということに少し興味があったので考えてみよう。 テトリスが強いCPUというには、強さの基準が必要であ…

忘れてたけどコモンダイアログ機能とその用途

Windowモジュールにファイルオープンダイアログを表示するメソッドopenFilenameを追加。 VisualuRubyが無いとできないのはなんだか不便だったから。 これで、DXRuby単体で8パズルを動かすことができるようになった。 0.0.6リリースしたらサンプルに8パズル…

SoundEffectの拡張

俺の趣味でSoundEffectクラスを拡張して、矩形波以外に三角波とサイン波とノコギリ波を出せるようにした。 ちょっといじってみたが、サイン波に周波数変調をかけると確かにFM音源ぽい音になる。 非常に面白い。 が、あまりに自由に周波数がいじれるから、逆…