« 【講座】HSP3ワンポイントテクニック 第30回 | メイン | HSPTV!メルマガ 第58号 »

2008年02月27日

【講座】HSPよく使うフレーズ 第39回

ある掲示板にかきこまれた内容が、私の書いたスクリプトに
ついての質問だったので、書き込んだ返事をご紹介します。

質問は「HSP3.1プログラミング入門」のマップ表示のスクリプト。
改造してマップチップの数が増えているようで、
わからないことがいくつかあるようです。

・質問1
マップチップを増やしたのですが、うまく表示されません。

答え)
>gcopy 1,pb*32,0,32,32
こちらがマップの素材から実際の画面にコピーする命令です。
「pb*32」というのが元のマップのX座標を計算しています。

もとのサンプルでマップの素材が

01234

という順番で、横にグラフィックが並んでいます。

pbにマップチップの番号0~4がはいっていれば、
pb*32で必要なマップチップX座標が得られます。

改造後のマップチップは32*32のチップが横に
32並んでるんでしょうか?

その場合、チップ番号を32で割った商をY座標、
余りをX座標にしてマップチップの座標を得る必要があります。

・質問2
「pb = code-'0'」の意味がわかりません。
何をしている命令ですか?

答え)
「'0'」は、文字の「0」のキャラクターコードです。
文字として変数MAPにはいっている、「01234」などから
文字コードの「0」の分をひくと、数字の「01234」になります。
文字列と数値を変換するテクニックの一つです。

ということで、詳しい解説とスクリプトは
「HSP3.1プログラミング入門」P166”マップ表示の基本”を
みてください。

(うすあじ)

投稿者 usuaji : 2008年02月27日 12:30

口臭チェッカー市場