2012年8月12日日曜日

シューティングゲームVer0.24 Vista/7での動作停止の解決版

前回までのバージョンだと、終了する際にVista/7で「動作を停止しました。」と出ていたようです。開発環境がXPのためそのような現象が起きるとは知りませんでした。

調べてみた結果、その現象を引きを越していたのは「es_bye」という命令でした。これはHSP上でDirectXの機能を使った後、プログラム上からDirectXとそれが使用していたメモリを解放する命令です。

本来ならクリーンアップ関数として呼び出され、命令無しでも終了時に自動で実行されるものです。しかしXP上だとうまく呼び出されないで解放されないまま終了することあります。そのため「es_bye」を入れていましたが、Vista/7上では問題なく自動で呼び出されるため結果として2回もこの命令を使っているのと同じ現象になっていたようです。

今回公開するバージョンでは、OSのバージョンをプログラムが判断し、OSに合わせた動作をするようにしました。どっかの受験生さんに7上での動作確認をしてもらったところ、問題なく動作したとのことでした。

それでは、ダウンロードはこちら

001 002


HSPに関連して、プログラム関係のことも書いてみます。

昨日と今日の2日間、大学のロボット教室に行ってPIC制御のロボットを作ってきました。

PICに書き込むプログラムの開発言語はC言語をよく聞きますが、実際に使ったのはこれでした↓

003

フローチャートのように組んでいくソフトです。フローチャートのため非常にわかりやすいのですがプログラムが長くなってくるとループをするのが大変になってきます。HSPに慣れているためこれで開発するのが大変でした。(repeat・loop・goto・gosubは実装してほしかったなぁ。)


明日(正確には明後日未明)はペルセウス座流星群極大です。天気がかなり微妙な感じです。



2 件のコメント:

  1. どっかの受験生2012年8月12日 15:18

    メッセンジャーアンインストールしてもっかいインストールしました(^p^)
    もうできるぜ

    返信削除
  2. どっかの受験生2012年8月13日 0:43

    ってか、受験生にほぼ命令口調(しかもタメ口)で「やって」と自分の作ったプログラムをダウンロードさせる後輩って…

    返信削除