« 2006年03月 | メイン | 2006年05月 »

2006年04月30日

【講座】HSPたまひよ塾 - 第10回「画像をコピーしてみよう」

今回も画像を使うスクリプト、画像をコピーする方法について解説します。
応用するとシューティングゲームやアクションゲームなど、
スピードの要求されるゲームに利用されるテクニックです。

前回も使った「onitama.jpg」という画像を使って解説しましょう。
以下の画像はスクリプトを実行するフォルダと同じフォルダに
置いてください。

画像:onitama.jpg
http://www.hspcenter.com/hsptvm/archives/onitama.jpg
(WEBブラウザで表示後、右クリックで画像を保存。)

▼サンプルスクリプト
;----------------------------------------
picload "onitama.jpg"
pos 320,180
gcopy 0,0,0,120,120
;----------------------------------------
gcopy命令を使うと、画面の一部を切り取って、
別の場所にコピーすることができます。
指定するパラメータは、次のようになっています。

gcopy コピー元のウィンドウID,コピー元のX座標,Y座標,
コピーするXサイズ,Yサイズ

もう一つ、応用したスクリプトを書いてみましょう。
;----------------------------------------
picload "onitama.jpg"
repeat 5
pos 120*cnt,180
gcopy 0,0,0,120,120
loop
;----------------------------------------
repeat~loop命令は、これまでにも何度か使いましたね。
いろいろと試して、実行してみてください。
ではまた。

(悠黒喧史)

投稿者 usuaji : 22:52

【講座】「教えて!おにたま!!」

【講座】「教えて!おにたま!!」

僕はまだ現役バリバリの学生ですが、、
本気で、将来プログラマーの類の仕事に就き
いろいろなソフトウェアをつくりたい、などと思っています。
将来のことを考えたら、やはりHSPに限らず、
C,C++,C#、Visual Basic、Java 等などの
いろいろなプログラム言語にも
挑戦しておいた方がいいのでしょうか?

<こたえ>

「教えて!おにたま!!」へのお便りありがとうございます(^^
HSPスクリプトに関係のない質問も大歓迎ですよ。
Cafeさんは、学生ということですが、将来のことを今から
考えて目標を持つのは良いことだと思います。
プログラマーの仕事にも色々な種類があって、ビジネスで使う
計算のソフトを作ることだったたり、ゲームだったり、
ネットワークで通信するソフトだったりします。
しかし、どんなソフトでも書いた通り順番に命令を実行していく
という基本はHSPと変わりありません。
プログラム言語は、多くの種類があり得意な分野も違いますので、
何が良いということはありませんが、大切なのは多くのソフトが
どのような仕組みで動いているか、どうしてその仕組みが便利
なのかを知ることだと思います。
外国語と同じで、言語はあくまでも話をする手段であって、
伝える内容が大事ってことでしょうか…。
是非、頑張って夢を実現させてくださいね。

<彦左衛門さんからのおたより>

以前までHSP2.5を使っていたのですが
今まではソースの最後にくると自動的に終了していたのが
3.0ではストップしてしまいます
2.xのように終了させることはできるのでしょうか?

<こたえ>

HSP2.xからHSP3で変わったところの1つが、ソーススクリプトの最後で
自動的に終了しなくなったという点です。
HSP3では、「picload "hsp3ttl.jpg"」のように1行書くだけでも、
その結果を確認することができます。
終了させるためには、end命令を書く必要があります。
end命令が実行されると、実行中のプログラムを終了するので、
スクリプトの中で必要な場所に書いておくようにしてください。

(おにたま)

投稿者 usuaji : 22:51

【講座】HSPよく使うフレーズ 第6回 テキストファイルを読む

【講座】HSPよく使うフレーズ 第6回 テキストファイルを読む

 テキストファイルを読み込むというのは、結構あること。
単純に読むだけならこんな感じで出来る。

notesel buf
noteload "test.txt"
mes buf

まあ、読み込んで表示という単純な方法はこれでOK。

それから、いつも使う変数の名前とかを決めておくと悩まないで
イイです。
私の場合、なにか貯めておく大きな領域はbuf、
1行分だけとか一時的な内容とかはtmpとか。

さて、読み込むだけではあまり意味がないので、
読み込んだテキストを利用する方法を考えましょう。

bufに読み込んだテキストファイルtext.txtを順番に表示して、
左側に行数を出してみます。
行数は0スタートになってます。

結果はこんな感じ

0:サンプル1
1:サンプル2
2:サンプル3
3:サンプル4

スクリプトをみてください。
読み込んだテキストをノートパッド命令で1行ずつ処理します。
各命令はヘルプを見て確かめて見ましょう。
リピートの中のwait命令はおまじないなので、無くても動くけど・・・
おまじないなので、書いておきましょう。

notesel buf
noteload "test.txt"
sdim tmp,1000
repeat notemax
noteget tmp,cnt
mes ""+cnt+":"+tmp
wait 1
loop
stop

[HSP3用 text1.hsp]

サンプル1
サンプル2
サンプル3
サンプル4

[test.txt]

(うすあじ)

投稿者 usuaji : 22:50

2006年04月27日

HSPTV!メルマガ 第13号

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HSPTV!メルマガ 第13号 N0.0013 2006/04/25 発行

編集長:うすあじ ( hsptv@hspcenter.com )
発行:HSPTV!(ONION software)
WEBサイト:http://hsp.tv/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
登録解除などはこちら http://hsp.tv/play/service.html

■はじめに

今回のオープニングは、ひさしぶりでDJうすあじがお届けする
”おたよりペシャル2!”だ。

もうすっかり春だけど、お正月にもらったおたよりの返事を
今頃していくよ!


★貯金箱さんからのおたより

学校のプログラム作成の課題にHSPを使っています。
まだ慣れていないのでメルマガに記載されている内容を活用する、
とまではなかなかいかない(笑)のですが、
毎回届くのを楽しみにしています。

★おたよりここまで

学校でHSPを使ってくれてる人は多いみたいだね。
楽しみにしている人がいるというのは、とてもうれしいです。
ありがとう!


★ノブアキさんからのおたより

定期的に送られてくるmlのメールを見つけると
思い出したように、さわっています。
勉強のモチベーションを持ち続ける為には結構役立ってるかも。

★おたよりここまで

あ。
あんまり定期的じゃなくてゴメン・・・
でも、2週間に1回くらいは出したいね、という事でがんばってるよ!


★aneriさんからのおたより

いつも、定期的に送信されてくる、HSPメールマガジンが
くるのを待ってて、楽しく読んでます(^_^;;)
読んでて、少し思うのですが。コーナーに、オススメの
オススメのホームページとか掲載してみるのもいいかもしれないと
おもっているのですが。如何ですか?

★おたよりここまで

あ・・・(^^A
定期的・・・そうそう。
定期的に月に2回くらい発行してるよ!

ところで、”オススメホームページ”はいい企画だね。

早速募集してみよう。

ご覧のみなさん、オススメホームページがあったら、
紹介してください。

その時には

・ホームページ名称
・URL
・何がオススメポイントなのか

を書いて、メールで送って下さい。

タイトルは「【投稿】オススメホームページ」でこちらまで。
hsptv@hspcenter.com

オススメするのは、HSPに関係してるページがいいね。


★Toshiさんからのおたより

講座などの企画がしっかりと分かりやすく説明されていて良いと思います。
これらの他にも、何かまったく新しいコーナーみたいなものがあると
メルマガとしての意味も深まると思います!

★おたよりここまで

をを。
参考になる意見ありがとう。

さて、まったく新しい・・・
どんなのだろ??

とりあえずは、さっきの”オススメホームページ”は
募集するけど・・・

これも募集するか・・・?


★イリスさんからのおたより

私は、HSP初心者で、まともに使いこなせていないので、
メルマガの講座をとても楽しみにしています。
今回は、「HSPたまひよ塾」は私には物足りなく感じられ、
「HSP3ワンポイントテクニック」は難しかったです
(というか、よく分からなかったというか・・・)。

中間のレベル(?)があると丁度よいのかもしれません。

それから、HSPで小数を使えるようにはならないのでしょうか?
プラグインなどで・・・
そこがよく分からないので、知りたいです・・・

★おたよりここまで

はい。
イリスさんからのおたよりで作ったコーナーが”HSPよく使うフレーズ”
です。
なかなか、ちょうど良いレベルというのは難しいですけどね。

”HSPで小数を使えるよう”ということですが、HSP3ならそのまま
使えるので、HSP3を使ってみて下さい。

・・・って、もう使ってますよね・・・
返事が遅くてごめんなさい。

次回もDJうすあじが登場して、あなたの悩みを解決・・・
あ、解決はあまりしないけど、納得ぐらいはするから、
メールをどんどん送ってね。

さて、長い挨拶のあとは本編に行くよ!

(うすあじ)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■今回のインデックス

【講座】HSPたまひよ塾 - 第10回(悠黒喧史)

【講座】教えて!おにたま!!(おにたま)

【講座】HSPよく使うフレーズ 第6回(うすあじ)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【講座】HSPたまひよ塾 - 第10回「画像をコピーしてみよう」

今回も画像を使うスクリプト、画像をコピーする方法について解説します。
応用するとシューティングゲームやアクションゲームなど、
スピードの要求されるゲームに利用されるテクニックです。

前回も使った「onitama.jpg」という画像を使って解説しましょう。
以下の画像はスクリプトを実行するフォルダと同じフォルダに
置いてください。

onitama.jpg
画像:onitama.jpg
http://www.hspcenter.com/hsptvm/archives/onitama.jpg
(WEBブラウザで表示後、右クリックで画像を保存。)

▼サンプルスクリプト
;----------------------------------------
picload "onitama.jpg"
pos 320,180
gcopy 0,0,0,120,120
;----------------------------------------
gcopy命令を使うと、画面の一部を切り取って、
別の場所にコピーすることができます。
指定するパラメータは、次のようになっています。

gcopy コピー元のウィンドウID,コピー元のX座標,Y座標,
コピーするXサイズ,Yサイズ

もう一つ、応用したスクリプトを書いてみましょう。
;----------------------------------------
picload "onitama.jpg"
repeat 5
pos 120*cnt,180
gcopy 0,0,0,120,120
loop
;----------------------------------------
repeat~loop命令は、これまでにも何度か使いましたね。
いろいろと試して、実行してみてください。
ではまた。

(悠黒喧史)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【講座】「教えて!おにたま!!」

僕はまだ現役バリバリの学生ですが、、
本気で、将来プログラマーの類の仕事に就き
いろいろなソフトウェアをつくりたい、などと思っています。
将来のことを考えたら、やはりHSPに限らず、
C,C++,C#、Visual Basic、Java 等などの
いろいろなプログラム言語にも
挑戦しておいた方がいいのでしょうか?

<こたえ>

「教えて!おにたま!!」へのお便りありがとうございます(^^
HSPスクリプトに関係のない質問も大歓迎ですよ。
Cafeさんは、学生ということですが、将来のことを今から
考えて目標を持つのは良いことだと思います。
プログラマーの仕事にも色々な種類があって、ビジネスで使う
計算のソフトを作ることだったたり、ゲームだったり、
ネットワークで通信するソフトだったりします。
しかし、どんなソフトでも書いた通り順番に命令を実行していく
という基本はHSPと変わりありません。
プログラム言語は、多くの種類があり得意な分野も違いますので、
何が良いということはありませんが、大切なのは多くのソフトが
どのような仕組みで動いているか、どうしてその仕組みが便利
なのかを知ることだと思います。
外国語と同じで、言語はあくまでも話をする手段であって、
伝える内容が大事ってことでしょうか…。
是非、頑張って夢を実現させてくださいね。

<彦左衛門さんからのおたより>

以前までHSP2.5を使っていたのですが
今まではソースの最後にくると自動的に終了していたのが
3.0ではストップしてしまいます
2.xのように終了させることはできるのでしょうか?

<こたえ>

HSP2.xからHSP3で変わったところの1つが、ソーススクリプトの最後で
自動的に終了しなくなったという点です。
HSP3では、「picload "hsp3ttl.jpg"」のように1行書くだけでも、
その結果を確認することができます。
終了させるためには、end命令を書く必要があります。
end命令が実行されると、実行中のプログラムを終了するので、
スクリプトの中で必要な場所に書いておくようにしてください。

(おにたま)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【講座】HSPよく使うフレーズ 第6回 テキストファイルを読む

 テキストファイルを読み込むというのは、結構あること。
単純に読むだけならこんな感じで出来る。

notesel buf
noteload "test.txt"
mes buf

まあ、読み込んで表示という単純な方法はこれでOK。

それから、いつも使う変数の名前とかを決めておくと悩まないで
イイです。
私の場合、なにか貯めておく大きな領域はbuf、
1行分だけとか一時的な内容とかはtmpとか。

さて、読み込むだけではあまり意味がないので、
読み込んだテキストを利用する方法を考えましょう。

bufに読み込んだテキストファイルtext.txtを順番に表示して、
左側に行数を出してみます。
行数は0スタートになってます。

結果はこんな感じ

0:サンプル1
1:サンプル2
2:サンプル3
3:サンプル4

スクリプトをみてください。
読み込んだテキストをノートパッド命令で1行ずつ処理します。
各命令はヘルプを見て確かめて見ましょう。
リピートの中のwait命令はおまじないなので、無くても動くけど・・・
おまじないなので、書いておきましょう。

notesel buf
noteload "test.txt"
sdim tmp,1000
repeat notemax
noteget tmp,cnt
mes ""+cnt+":"+tmp
wait 1
loop
stop

[HSP3用 text1.hsp]

サンプル1
サンプル2
サンプル3
サンプル4

[test.txt]

(うすあじ)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[PR]オススメHSP3の本

HSP3がよく分かる1冊。
ゲームのノウハウも沢山つまってます。

・最新HSP3プログラミング入門―Windows95/98/NT/2000/Me/XP対応
http://www.amazon.co.jp/exec/obidos/ASIN/4798011916/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

■編集後記

4月に環境が変わった人も、そろそろ新しい生活に慣れたかな?

まあ、無理せず、ご飯をちゃんと食べてれば、大丈夫。
あとは夜更かしせずに、ちゃんと寝ましょう。

ではでは、次のメルマガでお会いしましょう!

うすあじ

■過去ログページについて

 過去ログの公開ページはこちら
http://www.hspcenter.com/hsptvm/

■解約方法

 登録解除などはこちら
http://hsp.tv/play/service.html

■広告の掲載など

 本メールマガジンの広告掲載のご相談は
”うすあじ”( hsptv@hspcenter.com )までお願いします。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
編集長:うすあじ ( http://hspcenter.com/ )
記事の投稿、ご意見、ご希望はこちらまで hsptv@hspcenter.com

ONION software Copyright 2006(c) All rights reserved.
メルマガ本文の再配布・商利用、転載は禁止させて頂きます。
HSPのスクリプトサンプルは自由に再利用しても構いません。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

投稿者 usuaji : 01:58

2006年04月08日

【講座】HSPよく使うフレーズ 第5回 ゲームっぽいキー入力2

前回の続きで、弾を出してみよう!というワケ。

さて、前回のスクリプトが参考になったかな?
一応、弾をだしたらもっとゲームっぽいカモ、ということで、
やってみたよ。

screen 0,200,400
color 0,0,0:boxf
color 0,255,0
mx=5:my=18
*top
;キー入力
getkey key_left,37 ;<-
getkey key_right,39 ;->
getkey key_space,32 ;space
;座標変化
if key_left:mx-=1
if key_right:mx+=1
;座標チェック
if mx<0:mx=mxx
if mx>11:mx=mxx
mxx=mx:myy=my
;弾移動
if tf {
ty-=1
if ty<0:tf=0
}
;弾
if key_space and tf=0 :gosub *tamamake
;画面再描画
color 0,0,0:boxf
color 0,255,0
pos mx*16,my*16
mes "▲"
if tf:pos tx*16,ty*16:mes "|"
wait 2
goto *top
*tamamake
tf=1:tx=mx:ty=my-1:return

[HSP3用 tama_move.hsp]

ポイントは変数tfというフラグを使っている事。
弾が存在する場合、フラグが1になって弾の移動の処理の時に使うよ。

それから、弾を作る処理は*tamamakeというサブルーチンに分けてみた。

サブルーチンはプログラム上の効率化だけでなく、作っている人の
頭の中を整理する意味でも役にたつよ。
後で修正するときや、別のプログラムに再利用する場合にも便利。

最後に、サブルーチンにはわかりやすい名前を付けよう。

(うすあじ)

投稿者 usuaji : 14:25

【講座】「教えて!おにたま!!」

<聡さんからのおたより>

今HSPでプログラミングをしているのですが、本に、
「#pack命令を使えばファイルを1つにまとめられる」と書いてあったの
で、DLLと、LZHファイルをパックしたのですが、2つとも呼び出すことが
できません。
そして、そのファイルをプログラムと同じフォルダに置くとうまく実行し
ます。

<こたえ>

「教えて!おにたま!!」へのお便りありがとうございます(^^

#pack命令は、実行ファイルの中に指定したファイルを埋め込んで使用す
るためのものですが、いくつか制約事項があります。

結論から言ってしまうと、残念ながらDLLやLZHファイルは埋め込んで使用
することができません。#pack命令で指定できるファイルと指定できない
ファイルの違いは何なのか、少しだけ説明してみたいと思います。

HSPで作成された実行ファイルの中身は、HSPのスクリプトからbload命令
やpicload命令などにより見ることができます。これらの機能は、HSPその
もののシステム(ランタイム)によって実現されています。

その一方、dllやexeといったファイルはWindowsのシステムそのものが持
つシステムによって操作され、HSPのシステム自身では扱うことができま
せん。

Windowsのシステムが読み込むことのできるファイルは、エクスプロー
ラー等で表示される通常のファイルだけで、HSPの実行ファイルに埋まっ
ているものは認識してくれません。テキストエディタに音声ファイルを読
み込ませるようなもので、フォーマットが一致せず開けないわけです。

このような制約から、システム側で扱っているファイルは#packで指定す
ることができません。具体的には、dllやexe、scrといったコードが含ま
れるファイル、midやmp3などMCIで演奏される音楽ファイル、さらに外部
のツールで開かれるファイル全般ということになります。

それでは、またまた。
HSPに限らず、PCのコトやプログラミング関係どんなことでもお便り
待っていますよ。

(おにたま)

投稿者 usuaji : 14:24

【講座】HSPたまひよ塾 - 第9回「画像を表示してみよう」

画像を表示するには、picload命令を使います。
まず表示する画像を用意してください。デジカメで撮った画像、ペイント
で描いた画像など、何でもいいですよ。HSPでは、BMP、GIF、JPG、ICOと
いった形式の画像を読み込むことができます。
ここでは仮に「onitama.jpg」というファイル名の画像を表示するとしま
しょう。
画像はスクリプトを実行するフォルダと同じフォルダに置いてください。


画像:onitama.jpg
http://www.hspcenter.com/hsptvm/archives/onitama.jpg
(WEBブラウザで表示後、右クリックで画像を保存。)

;----------------------------------------
picload "onitama.jpg"
;----------------------------------------
たった一行、とーってもカンタンですね。
画面サイズも画像サイズに初期化されて表示されます。

ではもう一つ。
;----------------------------------------
pos 260,180
picload "onitama.jpg",1
;----------------------------------------
posは第3回「位置を指定しよう」にも出ました。これから表示する画像の
座標を指定しています。
picload命令のパラメータに1を指定すると、画面を初期化せずに画像をそ
のまま表示処理します。座標を指定して画像表示する場合には
必ずパラメータに1を指定してください。

(悠黒喧史)

投稿者 usuaji : 14:24 | コメント (0)

2006年04月06日

HSPTV!メルマガ 第12号

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HSPTV!メルマガ 第12号 N0.0012 2006/04/07 発行

編集長:うすあじ ( hsptv@hspcenter.com )
発行:HSPTV!(ONION software)
WEBサイト:http://hsp.tv/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
登録解除などはこちら http://hsp.tv/play/service.html

■はじめに

HSPTVの掲示板がオープンしました!

http://hsp.tv/play/bbs.html

毎日活発な情報交換が行われています。
掲示板は、マナーを守りながら、楽しく利用しましょう。

では、メルマガをゆっくりお楽しみ下さい。

(うすあじ)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■今回のインデックス

【講座】HSPたまひよ塾 - 第9回(悠黒喧史)

【講座】教えて!おにたま!!(おにたま)

【講座】HSPよく使うフレーズ 第5回(うすあじ)

【募集】メルマガ投稿募集中

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【講座】HSPたまひよ塾 - 第9回「画像を表示してみよう」

画像を表示するには、picload命令を使います。
まず表示する画像を用意してください。デジカメで撮った画像、ペイント
で描いた画像など、何でもいいですよ。HSPでは、BMP、GIF、JPG、ICOと
いった形式の画像を読み込むことができます。
ここでは仮に「onitama.jpg」というファイル名の画像を表示するとしま
しょう。
画像はスクリプトを実行するフォルダと同じフォルダに置いてください。

onitama.jpg
画像:onitama.jpg
http://www.hspcenter.com/hsptvm/archives/onitama.jpg
(WEBブラウザで表示後、右クリックで画像を保存。)

;----------------------------------------
picload "onitama.jpg"
;----------------------------------------
たった一行、とーってもカンタンですね。
画面サイズも画像サイズに初期化されて表示されます。

ではもう一つ。
;----------------------------------------
pos 260,180
picload "onitama.jpg",1
;----------------------------------------
posは第3回「位置を指定しよう」にも出ました。これから表示する画像の
座標を指定しています。
picload命令のパラメータに1を指定すると、画面を初期化せずに画像をそ
のまま表示処理します。座標を指定して画像表示する場合には
必ずパラメータに1を指定してください。

(悠黒喧史)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【講座】「教えて!おにたま!!」

<聡さんからのおたより>

今HSPでプログラミングをしているのですが、本に、
「#pack命令を使えばファイルを1つにまとめられる」と書いてあったの
で、DLLと、LZHファイルをパックしたのですが、2つとも呼び出すことが
できません。
そして、そのファイルをプログラムと同じフォルダに置くとうまく実行し
ます。

<こたえ>

「教えて!おにたま!!」へのお便りありがとうございます(^^

#pack命令は、実行ファイルの中に指定したファイルを埋め込んで使用す
るためのものですが、いくつか制約事項があります。

結論から言ってしまうと、残念ながらDLLやLZHファイルは埋め込んで使用
することができません。#pack命令で指定できるファイルと指定できない
ファイルの違いは何なのか、少しだけ説明してみたいと思います。

HSPで作成された実行ファイルの中身は、HSPのスクリプトからbload命令
やpicload命令などにより見ることができます。これらの機能は、HSPその
もののシステム(ランタイム)によって実現されています。

その一方、dllやexeといったファイルはWindowsのシステムそのものが持
つシステムによって操作され、HSPのシステム自身では扱うことができま
せん。

Windowsのシステムが読み込むことのできるファイルは、エクスプロー
ラー等で表示される通常のファイルだけで、HSPの実行ファイルに埋まっ
ているものは認識してくれません。テキストエディタに音声ファイルを読
み込ませるようなもので、フォーマットが一致せず開けないわけです。

このような制約から、システム側で扱っているファイルは#packで指定す
ることができません。具体的には、dllやexe、scrといったコードが含ま
れるファイル、midやmp3などMCIで演奏される音楽ファイル、さらに外部
のツールで開かれるファイル全般ということになります。

それでは、またまた。
HSPに限らず、PCのコトやプログラミング関係どんなことでもお便り
待っていますよ。

(おにたま)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【講座】HSPよく使うフレーズ 第5回 ゲームっぽいキー入力2

前回の続きで、弾を出してみよう!というワケ。

さて、前回のスクリプトが参考になったかな?
一応、弾をだしたらもっとゲームっぽいカモ、ということで、
やってみたよ。

screen 0,200,400
color 0,0,0:boxf
color 0,255,0
mx=5:my=18
*top
;キー入力
getkey key_left,37 ;<-
getkey key_right,39 ;->
getkey key_space,32 ;space
;座標変化
if key_left:mx-=1
if key_right:mx+=1
;座標チェック
if mx<0:mx=mxx
if mx>11:mx=mxx
mxx=mx:myy=my
;弾移動
if tf {
ty-=1
if ty<0:tf=0
}
;弾
if key_space and tf=0 :gosub *tamamake
;画面再描画
color 0,0,0:boxf
color 0,255,0
pos mx*16,my*16
mes "▲"
if tf:pos tx*16,ty*16:mes "|"
wait 2
goto *top
*tamamake
tf=1:tx=mx:ty=my-1:return

[HSP3用 tama_move.hsp]

ポイントは変数tfというフラグを使っている事。
弾が存在する場合、フラグが1になって弾の移動の処理の時に使うよ。

それから、弾を作る処理は*tamamakeというサブルーチンに分けてみた。

サブルーチンはプログラム上の効率化だけでなく、作っている人の
頭の中を整理する意味でも役にたつよ。
後で修正するときや、別のプログラムに再利用する場合にも便利。

最後に、サブルーチンにはわかりやすい名前を付けよう。

(うすあじ)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【募集】メルマガ投稿募集中

 ”HSPTV!メルマガ”への投稿をお待ちします。

 募集するコーナーは

(1)「教えて!おにたま!!」

 HSPの素朴な疑問をHSPの作者おにたま氏に聞いてみよう!
というコーナー。疑問。知りたいテクニックなどを直接聞く
チャンス。

(2)「ニュース情報」

 サイトを更新しました!ゲームを発表しました!などの、あなたの
HSP関連のニュースをメルマガで紹介します。

 ”こんな事をやって欲しい”などのメルマガに関する要望や感想、
日常のふつうのお便りもお待ちしています。

 投稿は”うすあじ”( hsptv@hspcenter.com )まで。

できれば、メールのタイトルに【メルマガ投稿】と付けて下さい。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■編集後記

4月になって新学期、新社会人など、新しい生活のスタートです。
あたらしい環境での生活を始めた人も多いんじゃないかな?

”学校でHSPを勉強してる!”とか”友達とゲームを作ってます!”
とか、そんなおたよりも待ってますよ!!

うすあじ ( http://hspcenter.com/ )

■過去ログページについて

 過去ログの公開ページはこちら
http://www.hspcenter.com/hsptvm/

■解約方法

 登録解除などはこちら
http://hsp.tv/play/service.html

■広告の掲載など

 本メールマガジンの広告掲載のご相談は
”うすあじ”( hsptv@hspcenter.com )までお願いします。

■HSP3の本

下記の書籍がお勧めです。

・最新HSP3プログラミング入門―Windows95/98/NT/2000/Me/XP対応
http://www.amazon.co.jp/exec/obidos/ASIN/4798011916/

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
編集長:うすあじ ( http://hspcenter.com/ )
記事の投稿、ご意見、ご希望はこちらまで hsptv@hspcenter.com

ONION software Copyright 2006(c) All rights reserved.
メルマガ本文の再配布・商利用、転載は禁止させて頂きます。
HSPのスクリプトサンプルは自由に再利用しても構いません。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

投稿者 usuaji : 23:01