« 2005年03月 | メイン | 2006年02月 »

2006年01月30日

Windows VistaのFAQ

Windows Vistaのことについて書いてある記事を見つけました。
またしてもFAQ形式でわかりやすいです。

CNET Japanのサイト↓
FAQ:「Windows Vista」はこうなる


Vistaにはさまざまな新機能が搭載されるようで楽しみです。
Internet Explorer 7(Internet Explorer 7では透過PNGの表示に対応するとか)やWindows Media Player 11など。
まぁ、私は当分XPを使いそうですが。
価格はまだ不明のようです。

Vista・・・視覚的なものもかなりすごくなっているようですが、重かったらどうしましょう(苦笑)
(でも視覚的な部分が強化されるのはうれしいです)

2006年01月29日

ちょっとだけ作成

毎日少しづつ進めているアクションゲームの作成。
今日はちょっとだけ作成です。
ブロック・敵の移動方向を変える矢印のゆかを作成
他はイベントの追加・ステージの追加。

続きは読めません "ちょっとだけ作成" »

2006年01月28日

ワールドマップの作成

毎日少しづつ進めているアクションゲームの作成。
今日は昨日つくったワールドマップを少し改良し、ゲーム中でマップを表示するようにしました。

world_map.png
↑ワールドマップ

このような感じになっています。
ゲーム中で進むべき場所を表示することにより臨場感がアップしたかもしれません。



最終的には以下のような感じになるかもしれません
world_map2_mini.png

地図を作ってみました

今日はゲームで使う地図を作ってみました。けっこうリアルです。
map1.png

まだどのようにゲーム中で使うかは考えていませんが、何らかの形で使っていく予定です。


この地図は、むら・む〜ちょ!で公開されているファイルタプラグイン(MuRa's フィルタ・マイスター:雲 2.2)を使うことにより比較的簡単に作れました。


「世界地図を簡単に作りたい。世界地図作成ソフト(?)はないだろうか?」
というときはこれがおすすめです。
そのほかにもシームレス画像を作りたいときに役立つプラグインも公開されています。
おすすめです。

ベクターがオンラインゲームを!?

あのベクターさんがオンラインゲーム事業に参入するようです。

まずは韓国のジョイスペルが開発した
「MicMac ONLINE」
というMMORPGの配信権を取得するとか。

サービスの詳細はまだ決まっていないそうです。
私はあまりオンラインゲームはしないのですが、なんだか気になります(笑)
ソフトウェアライブラリだけでなく、オンラインゲームの運営までするとは。
これからどうなるのか注目です。

ベクター、オンラインゲーム事業に参入

2006年01月27日

Sleipnirバージョンアップ

SleipnirVer 2.30が公開されました。

いよいよ待望の

「お気に入りのフォルダの色の変更が可能」

になりました!
うれしいです!
さっそく私の環境もVer 2.30にバージョンアップしておきました。
他には、
・メモリ使用量の削減
・速度改善
などが行われているようです。
ますます使いやすくなったSleipnir。
あなたも使ってみてはどうでしょう。

2006年01月26日

移動可能ブロック

HSP3.0で作成中のアクションゲーム。
今日は動かせるブロックを作りました。

当たり判定が大変でしたが、それなりに動きます。
まだ少しおかしな部分もあるのですが。。。
以下のようになります。

move_block.png

カーソルキーを動かせるブロックの方向に入れ続けると、
ブロック動きます。
壁にぶつかれば停止します。

自キャラにぶつかったとき、また敵にぶつかったときも停止します。
動いているブロックに乗ることもできます。

---

さらに今日は、がけから落ちない敵を作りました。
マリオで言えば、赤い甲羅の亀です。
いままでは、敵をただ直進させるだけだったので地面の端から勝手に落ちてしまいましたが、
「一歩先をチェックし、がけならば引き返す」
とすることにより落ちない敵が完成です。

これで少し敵も手ごたえがあるようになったかな。。。

The Adventure Of Holy Bird の開発環境

ブログを書き始める前のゲーム作りはどうだったのでしょうか?
これからは過去の開発日記のようなものも簡単に書いていきます。
(ほとんどただのメモになってしまいますが・・・)

ゲーム自体の開発環境はHSP3.0aです。
しかし、それだけではゲーム作りが大変です。


そこでThe Adventure Of Holy Bird専用の開発ツールを自作して
ゲームを作っています。


例えば、マップエディタです。


マップエディタ


 ↑マップエディタ(敵配置機能付き)


これによりゲームのマップを作っています。
同時に敵も配置していきます。
さらにイベントの位置も指定します。


次に、敵専用のエディタも作ってみました。

敵専用エディタ

 ↑敵専用エディタ

これで敵の能力値を決めています。
例えば、敵のライフ・移動パターン・移動速度・どのような攻撃を仕掛けてくるかなどを決めます。

このようにすることにより、より効率的にゲームを作ることができます。

簡単なゲームを作るときには必要ないかもしれませんが、
ある程度の規模のゲームを作るときにはこのようにマップエディタなどを作ると効率がよいのでお勧めです。
(一個ずつマップ用の配列に手動で値を代入していては大変効率が悪く、とても作れないと思います。)

2006年01月25日

Let'snote春モデル発表

Let'snoteの春モデル発表が発表されました。

大幅にスペックが上がるなどということはなくマイナーチェンジですね・・・。
ちょっと期待していたのですが・・・。

シリーズによっても異なりますが、主に目立つのが
DVD-Rの書き込みが4倍速になる
Pentium(R) Mプロセッサが超低電圧のものになる(以前よりさらに電圧レベル低下)
などです。
詳しくは以下のサイトを参照してください。

CNET JAPANの解説記事

製品情報ページ





・・・ほしいなぁLet'snote(笑)
冬モデル登場!→もう少し待てばもっといいのが・・・?→春モデル登場!→もう少し待てば・・・
→そんなこと言っているといつまでも買えないのですorz

賢いウェブ巡回プログラム登場!?

人間になりすますウェブ巡回プログラム
いままでのロボットのように巡回するのではなく、
まるで人間のようにページを取得するウェブ巡回プログラムを公開した人がいます。

独自のAIを搭載しているそうで、そこで性格を決められるとか。
すごいですねぇ。正しい利用方法をされればいいですが、悪用されるといろいろ問題があるようです。
サーバーログをみてもロボットかどうかわからないなんて、考えるとちょっと怖いです。
このプログラムがよい方向で活用されることを願います・・・。

2006年01月24日

アクセス解析設置

このブログにはアクセス解析の機能がないので、
以前私が作ったアクセス解析を一部改良して仮設置しました。
ないとちょっと不便なので・・・

アクセス数がページ下の方に表示されたらそれがそうです。
ただし、あくまでも仮なので、表示されるアクセス数は各ページの合計にはなっていません。
全体の合計値になっています。なのであまり当てにしないようにお願いします(笑)



以下、メモです・・・。

複数ページ対応にしなければいけなかったのですが、
めんどうなので「どのページにアクセスがあったか」
ということだけを記録するように追加で対応しました。
JavaScriptでURLを取得した後、PHPにGETでタグを埋め込んだURLを渡しています。

機能追加は比較的簡単でした。
本を見ながら無理してオブジェクト指向っぽい書き方をしていたおかげです。
一部のみですが、メソッドを呼び出すだけでアクセス解析統計データを出せるようにしていました。

しかし、詳しい解析はできません。
解析画面がまだ貧弱なので、これからさらに改良しなければなりません。

この方法はまだ仮ですが、これでいいのなら
いつか時間のあるときにやりたいと思います。



しかしこのアクセス解析で表示される数字がかっこ悪い。
いつか直したいです・・・。



◆参考までに。

解析画面の一部はこんな感じです
bird_analyzer_ss.png



グラフも表示されます。(PNG形式です)
最近一般のアクセス解析ではグラフをFlash出だしているところもあります。かっこいいですね〜。あこがれです(笑)
bird_analyzer_graph.png

2006年01月23日

Intel Mac発表。そしてはやくも・・・

CNET Japanの記事
に興味深い記事がありました。
「Intel MacでWindowsは動くのか」
というもので、FAQとして詳しく書かれています。
法的問題まで書いてあって面白いと感じました。
ぜひ一読してみるとよいでしょう。

技術的な課題としては、
BIOSを使っているかEFIを使っているかの違いをどう克服するか?
などがあるそうです。

さてさて、
次期Windows「Vista」ではEFIをサポートすることになっている
らしいです。技術の解決はどうにかなるようです(?)


MacでWindowsが動いたらおもしろいでしょうね〜。
でも「MacでWindows別々に買えば別にいいじゃん。」
という考えもあるようです。

・・・そういわれてみるとそういう気もします。
おもしろいだけなのかな?(笑)

しかし、記事中にあるように、MacとWindowsの両方のシステムを連携できるようになったらかなり便利そうです。
いったいどうなるのでしょうか?
今後のニュースにも注目です。


開発状況 - 当たり判定の改良 -

前回に作ったところの当たり判定の改良をしました。

holy_lift.png
↑リフトに乗る文鳥


前回のように、「張り付く」感じではなく「乗る」感じになりました。
下からジャンプしてこの動くブロック(リフト)にぶつかったときは
ちゃんと頭をぶつけたような動きになるようにしました。
よって、下方向からぶつかってもリフトには乗りません。
前回はどの方向から触れてもリフトにくっついていましたが、これで当たり判定はほぼOKです。

※リフトはこのように薄くしたのは実は左右方向の判定を簡略化するため。
手抜きかもしれないけど、こちらの方がリアル?(笑)
さて、横方向からぶつかったときは・・・?

2006年01月22日

開発状況その2

とりあえず、乗れる敵に触ると乗れる(張り付く)
そして、乗ったまま移動することができるようになりました。

holybird_o.png
↑ブロックに乗ってがけを渡る!

>落下しないようにして、かつ敵の移動速度と同じ速さ、
>同じ方向に自キャラを動かす
で普通にできました。
後は当たり判定をちゃんとしておかないといけませんね・・・。
それはまた今度。





他に書くことがないのでおまけを・・・
以前、このゲームのファイル形式を変えたときのことです。


一部のBMPファイルとMP3ファイルを
MP3 + BMP → MIDI + GIFに変更したら、
配布サイズがなんと、
7.5MB → 3.8MBになりました。
すごい(笑)

また、その後

一部のBMPファイルを
BMP → PNG
に変更したら、
解凍後の画像サイズがなんと、
2.48MB → 666KB
になりました。軽いですね〜。

---------------------------------------------------------------------------

まとめ
ゲームを作るときはファイルの形式を考えて作るといいですね。


◆◆◆解凍後の画像サイズ◆◆◆
2.48MB → 666KB
BMP → PNG
※配布サイズはほぼかわらず
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆


◆◆◆◆◆配布サイズ◆◆◆◆◆
7.5MB → 3.8MB
MP3 + BMP → MIDI + GIF(一部)
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆

今日と昨日の開発状況

今日は風邪のため何もする気が起こらず時間を無駄に過ごしてしまいました・・・。
以下、ひとり言です。

とりあえず、昨日は敵が複数の弾を一度に放射状に発射するシステムを追加。

今日は敵に乗れるシステムを追加するための実験を行った。
敵に触れているときは落下しないようにして、ジャンプを許可するようにしたらとりあえず乗れている感じはした。
それだけだと変なことがいろいろおきるけどね。

敵の上に乗って空中をわたるような方法は意外と難しいかも。
落下しないようにして、かつ敵の移動速度と同じ速さ、同じ方向に自キャラを動かせばいいだけな気もするけど。

2006年01月21日

ゲーム作成関連 - 任意の方向に弾を飛ばす(第2回) -

*cal_kakudoのサブルーチンを見てみます。

スペースキーを押すと敵が自機に向けて弾を発射します。
そのときの処理はどうなっているかというと・・・
弾の位置を敵の位置にセットしたあと、次の処理をします。
これにより、弾のx方向の移動量・y方向の移動量をそれぞれ算出します。

//角度計算(弾の移動方向を決める) (重要度:高)
*cal_kakudo
length_x = x - ex // X座標の差を求める
length_y = y - ey // Y座標の差を求める
rad = atan(length_y,length_x) // ターゲットとの角度を求める
dx = double (cos(rad)) * speed // x方向の移動量を計算
dy = double (sin(rad)) * speed // y方向の移動量を計算
return

以下の図のように、とりあえずlength_x・length_yを計算します。
(結果は必ずしも正になりませんがこれでちゃんと動く)

shoot_kaisetsu.png

次に、アークタンジェントを計算します。

suushiki_tan.png
であるので、
この式から座標を使って角度を求められます。

最後に
sin、cosを使って、比率に直します。
自機と敵の距離をzとすれば、
cosθ = length_x / z
sinθ = length_y / z
であるので、敵と自機の距離が離れていても近くても適切な速さが保たれます。

そして、それに適当な速さを掛け算して速さを調節しておしまい。

後はメインループ内でex += dxなどとすれば弾がどんどん動きます。
x,yの比率がうまくいっているので、自機の方に向かって弾が飛んできます。
(自機が動かなければですが)


◆おまけ
メインループ内で毎回
*cal_kakudoを呼び出せば、
誘導弾となります。
ただし、実際ゲームにするときは、
弾が永久に追尾するようにするとプレイヤーにとってつらいので
工夫しましょう。


※このままでは
・当たり判定がない
・スペースキー連打で弾が戻ってしまう
などの問題があるのでそのままではゲームになりません。
これを改良する方法については次回以降で扱っていきます。

ゲーム作成関連 - 任意の方向に弾を飛ばす(第1回) -

今回は、シューティングゲームなどで使えると思われる、敵が自機の方向に弾を飛ばす というような方法のサンプルと、その解説をしていきます。

サンプルソースはつぎのようになります。
※HSP3.0で動作します。
ゲームづくりには基本となる部分です。




◆スクリーンショット
shoot_ss.png
◆解説
*cal_kakudo
というサブルーチンがポイントです。ここでの処理が今回一番のポイントである
弾の発射方向の計算
をしている部分です。

※長くなるので2回目へ続きます・・・

今日は関東地方でも雪ですね。

うちの方も降っています。
あたり一面真っ白です(笑)
寒い。。。

※このメッセージは指定時間に公開されます。
cronの設定をしましたがうまくいくでしょうか・・・?



エラーが出ていましたorz
/virtual/****/public_html/mt/tools/run-periodic-tasks: use: command not found
/virtual/****/public_html/mt/tools/run-periodic-tasks: line 16: syntax error near unexpected token `qw(:'
/virtual/****/public_html/mt/tools/run-periodic-tasks: line 16: `use MT::Entry qw(:constants);'
・・・失敗。
結局手動で公開しました。

Stardust Collector 通常版 Ver.2.2

少しアレンジしてStardust Collector 通常版 Ver.2.2
をリリースしました。

以前からやりたかった
・見た目の強化
・ゲームウインドウがアクティブでないときにはゲームの実行を止めて負荷を軽減する
・STAGE STARTの文字が出ているときにクリアすると文字が重なっていたのを防止
などの細かい機能を追加しました。
ダウンロードはこちらから

と・・・あれ、ブロック移動中に描画がちょっとへんですね。
たしかVer.2.1では大丈夫だったのに。
まぁ大きな問題ではないですけど。。。

エントリーIDが見つかりません

Movable Typeで「エントリーIDが見つかりません」
となりコメントが投稿できない現象が起こりました・・・。

Googleで検索すると、
このページが見つかりました。
ここのコメントのところです。一部引用。

---

「エントリーIDが見つかりません」は過去英語で「No entry_id」 と表示されていたエラーメッセージ。そこで「No entry_id」で検索すると XREA で多いトラブルでドメインを取って運用しているMTで発生している模様。 XREA SUPPORT BOARD - Movable Typeの設置についての質問 http://sb.xrea.com/showthread.php?t=6759&page=3 に解決?というか設定ミスが原因。 解決方法 MT3.2 では mt-config.cgi 1)mt.cfgファイルの14行目のCGIPath以降のURLをMTを設置するURLに変更。 2)「BLOGの設定」の画面でSite URLとArchive URLも同じMTを設置するURLにて設定。

---

xreaで設置した人でこのような問題が多いようで、
以前はNo entry_idと表示されていたようです。
mt.cfgというファイルの設定を変えればいいようです。

ところが、私の環境では
mt.cfgが見つかりません

なんてことだ。

その変わり、似ている名前を発見。
mt-config.cgi
が見つかりました。とりあえずテキストエディタで開いてみると・・・
28行目に
CGIPath http://〜
がありました。
これを直すことにより一件落着。
・・・と思ったら直らない。

そこで・・・再構築してみたら直りました。
やれやれ(笑)
同様の症状に悩んでいる方はお試しを

2006年01月20日

Weblogを公開

今日からWeblogを公開しました。
少し前から設置して書いておりましたが、すこし記事がたまったので今日からリンクを貼っておきます。
どの程度の頻度で更新できるか不安ではありますが、少しずつ書いていくので時間があればごらんください。
Weblogは初めてでわからないことも多いですがよろしくお願いします。

このWeblogは回覧百貨箱さんの方と協力して、回覧雑記帳の一部として記事を書いていくことになりました。
よって、このWeblogのデザインはまだ仮の状態になっております。
(回覧雑記帳のデザインに統一されます。現在、デザイン担当の滝蔵さんががんばってくれています)
私の書く内容はHSPなどのプログラムのメモや解説、日記(雑記)などの予定です。
さてさてどうなることやら(笑)

そうそう、今日はブログ関連の本を図書館で借りてきました。
なかなかおもしろそう。ブログについてより詳しくなった気がしました。
(Movable Typeのことより他のブログについての解説の方が多いんですけどねぇ)


おっと、いきなりコメントが投稿できない状態になってるorz

2006年01月19日

トラックバック

私はブログをはじめたばかりなのでまだまだいろいろなことがわからないです。
今日はトラックバックについて調べてみました。

Googleで「トラックバック」で検索。
3分でわかるトラックバック」・・・これだ!
ということで見てみる。
Flashですぐにトラックバックというものがわかるもので、必見です。
ブログに興味があってはじめたばかりの人はぜひ見てみてください。
今日、本屋さんで立ち読みした説明よりわかりやすくておもしろい(笑)


実はこれ、以前に滝雄さんから教えてもらったFlashなんです。
Googleトップに出てくるなんてすごいですね。
しかもコメントやトラックバックがたくさんついている(笑)


さらに、flaファイルのダウンロードができます。
なんて親切なんだ〜(笑)
(flaファイルとは、FLASHのソースのようなものです。)

・・・と、ダウンロードできません。リンク切れでした。残念orz

AreaEditor

今日は本屋さんへいきました。
ブログの本があったので眺めていたら、
AreaEditor
というのが載っていました。

エディタとインターネットエクスプローラのtextareaを連携させるもののようです。
(詳細はリンク先参照)
いつもフォームに何かを書いて記事を投稿するときには
EmEditorを開いて編集したものを貼り付けていたので、「これは便利」と思い使ってみました。
AreaEditorはそのような手間がいらないのです。


で、使ってみると・・・便利でした(笑)
インターネットエクスプローラでしか使えないのは残念ですが、
普通にやるよりかなり効率がいいです。
ぜひ一度使ってみることをお勧めします。
ブラウザはインターネットエクスプローラのみのようですが、テキストエディタは任意のものを使えるのがうれしいです。

(たま〜に保存ボタンを押し忘れるので注意しないとなぁ・・・(笑)
たま〜にうまく動かないけど、設定がいけないのかな)

HSP3.0へ移植

今日は
Stardust Collector 通常版(Normal Version)

HSP2.61からHSP3.0に移植する作業をした。
実はHSP3.0で動くように書き直すのはいつかはしたいと思っていたのです。
今見るとけっこう無茶な処理をしているところもあり、書き直すのは困難を極めた。
(というか普通にめんどうだった。)


さらにせっかくなので、
・画像ファイルをBMPからPNG/GIFにして、HDDの節約になるようにした。
→だいぶ軽くなりました!


・今まで寄付特典として、「寄付してくれた人だけ遊べるステージ」を最初から選べるようにした。
特典ステージの中には難しいステージもあるのでおすすめ。ぜひチャレンジしてもらいたい。
→なぜなら・・・誰も寄付してくれなかったから(笑)
ならこの際、最初から公開してしまうかということで。。。
新しいゲームもそのうち公開することだし。


DirectDrawを使って高速に描画してもらうようにした。
実は今までは使っていなかった。
→が・・・速くならないorz
なんでだ〜。今、さらに改良中・・・。


Stardust Collector 通常版 Ver.2.1として、近いうちに完成です。たぶん。

01/19 22:22 追記
Stardust Collector 通常版 Ver.2.1を公開しました。
ただし、ウインドウモードでのみ遊べます。フルスクリーンの場合、不具合が出るかもしれません。とりあえずβ版として公開だが・・・フルスクリーンなしでもいいか・・・。だめですか?

DirectDrawで遅くなっていたのは、
Direct3Dを使う設定にしてしまっていたから。そりゃ遅いですね。
通常にしたら、なんと負荷が半分に。DirectDrawってすごいですねぇ。

HSPでoggを再生してみよう(第3回)

さて、後半部分です。
定義した命令を使って処理を書いていきます。

f_name = "song1.ogg"
再生したいファイルのファイル名を記述します。
ここではsong1.oggを用意して、これを再生することにします。


pm = varptr (f_name)
song1.oggのポインタを取得します。ポインタについては私もよくわからないので、
こうすればうまくいくということだけで詳細は説明はご勘弁を・・・

VoxLoad pm
oggをロードします。先ほどのポインタを使います。

VoxID = stat
VoxLoad関数からの戻り値が必要になるので、statに入っていたものを保存しておきます。これを後で使います。


VoxSetLoop VoxID,10
ループ回数をセットします。必須ではありません。10回ループさせています。

VoxPlay VoxID
これを実行するとはじめてoggが再生されます。


さて、以上で基本的な使い方は終わりです。
DLLに必要な関数が入っているので呼び出し方さえわかれば意外と簡単だったはずです。
これを改良してさまざまなアプリケーション開発に役立ててみてはいかがでしょうか。

HSPでoggを再生してみよう(第2回)

具体的にはどのようにしたらいいのでしょうか?

さて、Vox.dllのヘルプファイルを見てみましょう。
VoxHelp.CHMです。
今回使うのは、そこの中のC関数リファレンスです。(C++の方ではないことに注意)
たとえば、oggを再生したかったら、次のような関数が見つかります。

bool VoxPlay( int ID )

再生を開始します。

引数
int ID VoxLoadで取得したドライバID

返値
true 再生成功
false 再生失敗


となっていますね。そこで


#func (好きな命令の名前) "VoxPlay" int


とします。
私は

#func VoxPlay "VoxPlay" int

のようにDLLの関数と同じ命令名にすることおすすめしますが、

#func aaa "VoxPlay" int

のようにすることももちろん可能です。

また、返値とかいてあるところについては、
HSPのシステム変数statにはいるようです。よってそこを参照すればOKです。

※説明中の各色が対応しています。

このようにして、自分の使いたい関数を一通り定義しておきます。
あとは、それを使って普通のHSPの命令を書くときのように書いていけばよいだけです。
(DLLの定義部分だけをヘッダファイルとして作成し、includeするとシンプルになるかもしれません。)

デザイン見本メモ

今日は少し更新・使い方の勉強をしました。

滝蔵さんのアドバイスにより、

styles-site.css
を変更して、色を定義したclassを追加してみた。
「あれ、記事を追加するたびに色が変わらなくなる〜。なんで〜??」

散々混乱した結果、どうやら
「追加したclassがなくなる!?」

ことに気がつく

っと、styles-site.cssを編集してみたのはいいが、weblogを更新するとこのファイルは

自動的に書き換えられる

らしい。困ったな。もっと別の方法があるはず。。。

そこで、よくメニューを見て試したところ、

テンプレートを編集: スタイルシート

からCSSを更新すれば大丈夫でした。
なんでも手動で更新する癖のある私。ちゃんと用意されたシステムを使わないで
はまりました(笑)
次からは気をつけます。。。



css_settei.png



◆今日追加したclassがどんな感じか、忘れないようにメモしておきます

class="em_word1"
class="em_word2"
class="em_word3"
class="em_word4"
class="em_word5"
class="em_word6"

う〜ん、カラフル・・・
番号が若い方がより強調するということで派手になっております。

2006年01月18日

HSPでoggを再生してみよう(第1回)

今回は、拡張プラグイン(DLL)を使って*.oggのファイルを再生する方法のサンプルと、 その解説をしていきます。

サンプルソースはつぎのようになります。
難しそうに見えますが、実は簡単です。
野村XXさんの作ったVox.dllを使用します。
このDLLの説明書にはHSP2.6用のものしかありません。
そこでここではHSP3.0で動作するサンプルを紹介いたします。


◆スクリーンショット
ogg_sample1.png
非常にシンプルなサンプルです


◆解説
#uselib "Vox.dll"
で使用するDLLを指定します。今回はVox.dllを使用するのでそのように書きます。
#func VoxSetLoopA "VoxSetLoop" int,int
ここではDLLの関数を定義しています。
ここで定義した関数は、以下HSPの普通の命令のように呼び出して使うことができます。
このようにした場合、VoxSetLoopをVoxSetLoopAと定義しています。
この定義の後で、たとえば、
VoxSetLoopA 1,10
とすれば、ID1の曲のループ回数を10回にするという設定ができます。
左側がHSPで使用する命令名です。右側がDLL側の関数名になります。
そのうしろのintなどは関数の引数です。
DLLのマニュアルなどに書いてあるのでそれを見ながら書きましょう。


※長くなるので2回目へ続きます・・・

このカテゴリーの説明

プログラム全般に関するメモや解説などを載せていきます。
HSP,Perlなどなど

HSPの方から書き始めました。
HSPでなくてもアルゴリズムは参考になるかもしれません。
一度見てみるといいですよ。


bird
BIRD「ホームページではソフトウェアを公開していますぞ」

2006年01月15日

アクションゲーム開発状況

システムがほぼ完成。
イベント作成開始。


敵に乗れるようにできたらいいな・・・

HSP3.0になって変わったこと

HSP3.0ではHSP2.6系と比べて、主に以下のような点がパワーアップしています。
以下に、HSP3.0になって私がうれしいと思った機能を挙げてみます。

・HSP2.6にはなかった、円を描画するcircle命令などが追加されています。

・gettimeなど、一部の命令が関数かされたことにより、より柔軟なプログラムが組めるようになりました。

・sin,cosなどの関数などが実装されました!

・標準では、いままでは整数しか扱えませんでしたが、実数のサポートがされています。

・DLL呼び出しが以前より簡単になりました。

・Windowsのコンポーネントも呼び出せるようになったようです。
これにより、pngファイルの読み込み、XMLパーサー、正規表現による検索や置き換え、RSSの取得などができるようになったようです。

・picload命令でGIFも読み込めるようになりました

・スクリプトエディタが新しくなり、色わけできるようになり、タブ式のエディタになりました!
(ただし、まだ一部不具合もあります。)


hsp_editor.png

カラフルに色分けされたタブ式エディタ

HSPとは -HSPをはじめてみよう-

HSPとはプログラム言語のひとつです。
簡単にWindows上で動くソフトウェアをつくることができ、さらに開発環境がフリーで提供されています。また、関連書籍も出版されており、敷居が低いので安心して取り組めます。

HSP公式ホームページはこちら


HSPの入門編の解説は
こちら
にありますので参考にしてください。
プログラムを組んだことがある人なら1〜2時間で、
初めての人でも短時間でHSPを使えるようになるでしょう。
ぜひはじめてみるとよいでしょう。

私のサイトでは、次回からHSPの基本的な文法は知っているという前提で
書いていきます。
(しかし、F1キーを押すと、ヘルプブラウザが起動して文法をチェックできるので、
すべて暗記する必要はまったくありません。)
また、文法は基本的にHSP3.0に関して解説していきます。



hspのアイコン
HSPのアイコン