« 【講座】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
口臭チェッカー市場