« 2006年09月 | メイン | 2006年11月 »

2006年10月25日

【講座】HSPよく使うフレーズ 第17回 中央に表示する

グラフィックや文字を中央に表示したいと思うことは多いハズ。
決まった大きさのグラフィックなら、最初から中央になるようにposを
指定すればいいけど、

グラフィックを読み込んだりして、大きさが変わる場合は計算しないと
イケナイ。

今回は文字の場合で作ってみました。
文字の数を数えて、それに中央の座標から左側にどれくらい移動するか
を計算して、その位置に文字を表示します。

そこでのポイントは
・strlenでは半角1文字分で1文字。全角は2文字となる。
・フォントサイズ20では半角1文字分の幅は10。
・文字が中央に来るためには、文字幅の半分だけ、中央から左にずらす。

という感じです。

;center.hsp
screen 0,640,480
color 255,255,0
line 0,240,639,240
line 320,0,320,480
font msgothic,20:color 0,0,0
sdim word,1000
moji="【講座】HSPよく使うフレーズ"
xx=320-(strlen(moji)*5):yy=230
;mes strlen(moji)
pos xx,yy
mes moji
stop

[hsp3/center.hsp]

投稿者 usuaji : 01:25

【講座】HSP3ワンポイントテクニック 第11回

このコーナーでは、HSP3の変わった使用例や、気がつきにくい機能など
を紹介していきたいと思います。

今回は、実務向けにHSP3を使った例として、今回はMicrosoft Excelとの
連携を取り上げてみます。

言うまでもなく、Excelは仕事にも定番で使われている表計算ソフト
ですが、ここで作成したデータをHSPから取り出す方法について
紹介していきましょう。

Excelのデータを取り出す方法としては、一度cvs形式などテキスト
ファイルとして扱えるデータファイルで出力する方法なども
ありますが、今回はHSP3が持つCOM呼び出しを利用して直接xls
ファイルにアクセスしてデータを取り出してみます。

newcom命令で、ExcelのプログラムIDである"Excel.Application"を
指定することで、各種機能を利用できるようになります。

細かい部分は、VBScript等でアクセスする手順と同じなので、
ここでは省略しますが、指定されたファイルを開き、データのある
項目数を取得して自動的に全データを取り出しています。

COMの内部では、文字コードとしてUnicode形式が使用されていますが、
HSPで扱う場合には自動的にSJIS形式に変換されています。

これにより、xlsファイルに含まれるデータをもとに変換を
行なったり、HSP上でデータを取り込んで使用することが手軽に
できるようになります。

以下のサンプルは、カレントディレクトリにある「test.xls」
というファイルの内容を表示するものです。

;
; xlsのデータを取得する
;
myname = "test.xls"
fname = dir_cur+"\\"+myname ; フルパスを作成する
;
newcom xlApp, "Excel.Application"
xlApp("Visible") = 0; Excelウィンドウは非表示
xlApp("DisplayAlerts") = 0; 警告メッセージを表示させない
xlBooks = xlApp("Workbooks") ; Workbooks コレクション取得
xlBooks->"Open" fname ; 指定ファイルを開く
xlBook = xlBooks("Item",myname) ; book取得
xlSheet = xlBook("Worksheets","Sheet1") ; Sheet取得
xlRange = xlSheet("Range","A1")
xlCurReg = xlRange("CurrentRegion")
xlRows = xlCurReg("Rows")
xlColumns = xlCurReg("Columns")

sy = 0+xlRows("Count") ; 縦の項目数を取得
sx = 0+xlColumns("Count") ; 横の項目数を取得

repeat sy:y=cnt
repeat sx:x=cnt
xlCur = xlRange("Offset",y,x) ; X,Yのセルを取得
data = xlCur("Text") ; 内容テキストを取り出す
mes "("+x+","+y+")="+data ; 表示する
loop
loop

; COMのあとしまつ
delcom xlCur : delcom xlColumns : delcom xlRows
delcom xlCurReg : delcom xlRange : delcom xlSheet
delcom xlBook
xlBooks->"Close" : delcom xlBooks
xlApp->"Quit" : delcom xlApp


テストデータが、以下のURLにありますので、実験してみてください。
http://hsp.tv/misc/test.xls

このスクリプトを実行するためには、Excelがインストールされている
必要がありますので、注意してください。

投稿者 usuaji : 01:24

【よみもの】「うしくんと話そう」 第12回 うしくんの名前の巻き

【よみもの】「うしくんと話そう」 第12回 うしくんの名前の巻き

ゆめゆめ:( ‘∇‘ )ノお~い、うしく~ん

うしくん:コソコソ|_-))))

ゆめゆめ:(・-・)?

うしくん:ビーム(丿`▽)丿━━━━*

ゆめゆめ:(*_*)ゝイタタ

うしくん:(>_< )もう、ぼくは怒ったぞ!

ゆめゆめ:f(^_^;ほんと、すみません、すっかり忘れちゃってて
(^^;)

うしくん:ぼくの名前を発表し忘れるなんて~~(┳◇┳)ビェーーーン

ゆめゆめ:。。。。。。((( ^ ∀^) ♪♪♪

うしくん:(ρ_;)ヒックヒック

ゆめゆめ:(^ ∀^ )))。。。。。。ほらほらうしくん見て~♪

うしくん:。('-'。)(。'-')。

ゆめゆめ::*.;".*・;・^;・:\(*^▽^*)/うしくんの名前、
大発表!!:・;^・;・*.";.*:

うしくん:キタ━━━━(*゜∀゜)っ゜∀゜)っ゜∀゜)っ━━━━!

ゆめゆめ:うしくんの名前は……ドコドコドコドコドコ…ジャン!!
『マドモアゼル・うし』に決定~~~!!!\(^o^))/

うしくん: バンザーイ \( ̄▽ ̄)/ バンザーイ

ゆめゆめ:『マドモアゼル・うし』が見事選ばれた理由を聞きたい?

うしくん:(゜ー゜)(。_。)(゜-゜)(。_。)ウンウン

ゆめゆめ:どうしよっかな~~(*´艸`*)

うしくん:おΣ(゜ロ゜;)なんで教えてくれないの!!?

うしくんの名前は『マドモアゼル・うし』に決定!!

以下次号に続く

投稿者 usuaji : 01:23

HSPTV!メルマガ 第25号

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HSPTV!メルマガ 第25号 N0.0025 2006/10/25 発行

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

■はじめに

こんにちは、うすあじです。

さて、今回はテレビ出演のお知らせです。

なんと、我々ライターがテレビに出ちゃったのです!

テレビといってもHSPTVつまり、あなたのパソコンのデスクトップに
あるHSPTVブラウザのアイコンをクリックすると出てくるワクのなかに
出演しています。

(1)HSPTVブラウザを起動。
(2)その他プログラムを選択。
(3)HSPTVコンテスト2006スペシャル番組を選択。
(4)PLAYボタンをクリック。

これで、”おにたま”や”うすあじ”の動く姿が見られるよ。

ちょっと恥ずかしいけどね(^^A

コンテストの作品を紹介してるから、どんな作品が参加してるか
わかって、便利だよ。

では、こっそりとメルマガのスタートです!

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

【よみもの】「うしくんと話そう」第12回(ゆめゆめゆうか)

【講座】HSP3ワンポイントテクニック(おにたま)

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

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

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【よみもの】「うしくんと話そう」 第12回 うしくんの名前の巻き

ゆめゆめ:( ‘∇‘ )ノお~い、うしく~ん

うしくん:コソコソ|_-))))

ゆめゆめ:(・-・)?

うしくん:ビーム(丿`▽)丿━━━━*

ゆめゆめ:(*_*)ゝイタタ

うしくん:(>_< )もう、ぼくは怒ったぞ!

ゆめゆめ:f(^_^;ほんと、すみません、すっかり忘れちゃってて
(^^;)

うしくん:ぼくの名前を発表し忘れるなんて~~(┳◇┳)ビェーーーン

ゆめゆめ:。。。。。。((( ^ ∀^) ♪♪♪

うしくん:(ρ_;)ヒックヒック

ゆめゆめ:(^ ∀^ )))。。。。。。ほらほらうしくん見て~♪

うしくん:。('-'。)(。'-')。

ゆめゆめ::*.;".*・;・^;・:\(*^▽^*)/うしくんの名前、
大発表!!:・;^・;・*.";.*:

うしくん:キタ━━━━(*゜∀゜)っ゜∀゜)っ゜∀゜)っ━━━━!

ゆめゆめ:うしくんの名前は……ドコドコドコドコドコ…ジャン!!
『マドモアゼル・うし』に決定~~~!!!\(^o^))/

うしくん: バンザーイ \( ̄▽ ̄)/ バンザーイ

ゆめゆめ:『マドモアゼル・うし』が見事選ばれた理由を聞きたい?

うしくん:(゜ー゜)(。_。)(゜-゜)(。_。)ウンウン

ゆめゆめ:どうしよっかな~~(*´艸`*)

うしくん:おΣ(゜ロ゜;)なんで教えてくれないの!!?

うしくんの名前は『マドモアゼル・うし』に決定!!

以下次号に続く

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【講座】HSP3ワンポイントテクニック 第11回

このコーナーでは、HSP3の変わった使用例や、気がつきにくい機能など
を紹介していきたいと思います。

今回は、実務向けにHSP3を使った例として、今回はMicrosoft Excelとの
連携を取り上げてみます。

言うまでもなく、Excelは仕事にも定番で使われている表計算ソフト
ですが、ここで作成したデータをHSPから取り出す方法について
紹介していきましょう。

Excelのデータを取り出す方法としては、一度cvs形式などテキスト
ファイルとして扱えるデータファイルで出力する方法なども
ありますが、今回はHSP3が持つCOM呼び出しを利用して直接xls
ファイルにアクセスしてデータを取り出してみます。

newcom命令で、ExcelのプログラムIDである"Excel.Application"を
指定することで、各種機能を利用できるようになります。

細かい部分は、VBScript等でアクセスする手順と同じなので、
ここでは省略しますが、指定されたファイルを開き、データのある
項目数を取得して自動的に全データを取り出しています。

COMの内部では、文字コードとしてUnicode形式が使用されていますが、
HSPで扱う場合には自動的にSJIS形式に変換されています。

これにより、xlsファイルに含まれるデータをもとに変換を
行なったり、HSP上でデータを取り込んで使用することが手軽に
できるようになります。

以下のサンプルは、カレントディレクトリにある「test.xls」
というファイルの内容を表示するものです。

;
; xlsのデータを取得する
;
myname = "test.xls"
fname = dir_cur+"\\"+myname ; フルパスを作成する
;
newcom xlApp, "Excel.Application"
xlApp("Visible") = 0; Excelウィンドウは非表示
xlApp("DisplayAlerts") = 0; 警告メッセージを表示させない
xlBooks = xlApp("Workbooks") ; Workbooks コレクション取得
xlBooks->"Open" fname ; 指定ファイルを開く
xlBook = xlBooks("Item",myname) ; book取得
xlSheet = xlBook("Worksheets","Sheet1") ; Sheet取得
xlRange = xlSheet("Range","A1")
xlCurReg = xlRange("CurrentRegion")
xlRows = xlCurReg("Rows")
xlColumns = xlCurReg("Columns")

sy = 0+xlRows("Count") ; 縦の項目数を取得
sx = 0+xlColumns("Count") ; 横の項目数を取得

repeat sy:y=cnt
repeat sx:x=cnt
xlCur = xlRange("Offset",y,x) ; X,Yのセルを取得
data = xlCur("Text") ; 内容テキストを取り出す
mes "("+x+","+y+")="+data ; 表示する
loop
loop

; COMのあとしまつ
delcom xlCur : delcom xlColumns : delcom xlRows
delcom xlCurReg : delcom xlRange : delcom xlSheet
delcom xlBook
xlBooks->"Close" : delcom xlBooks
xlApp->"Quit" : delcom xlApp


テストデータが、以下のURLにありますので、実験してみてください。
http://hsp.tv/misc/test.xls

このスクリプトを実行するためには、Excelがインストールされている
必要がありますので、注意してください。

(おにたま)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【講座】HSPよく使うフレーズ 第17回 中央に表示する

グラフィックや文字を中央に表示したいと思うことは多いハズ。
決まった大きさのグラフィックなら、最初から中央になるようにposを
指定すればいいけど、

グラフィックを読み込んだりして、大きさが変わる場合は計算しないと
イケナイ。

今回は文字の場合で作ってみました。
文字の数を数えて、それに中央の座標から左側にどれくらい移動するか
を計算して、その位置に文字を表示します。

そこでのポイントは
・strlenでは半角1文字分で1文字。全角は2文字となる。
・フォントサイズ20では半角1文字分の幅は10。
・文字が中央に来るためには、文字幅の半分だけ、中央から左にずらす。

という感じです。

;center.hsp
screen 0,640,480
color 255,255,0
line 0,240,639,240
line 320,0,320,480
font msgothic,20:color 0,0,0
sdim word,1000
moji="【講座】HSPよく使うフレーズ"
xx=320-(strlen(moji)*5):yy=230
;mes strlen(moji)
pos xx,yy
mes moji
stop

[hsp3/center.hsp]

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

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

 募集するコーナーは

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

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

(2)「うし的人生相談」

 "うし的人生相談"への相談を受け付けてますよ。

メルマガに関する要望や感想、日常のお便りもお待ちしています。

 全ての投稿は”うすあじ”( hsptv@hspcenter.com )まで。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[PR]オススメHSP3の本

・公認 HSPファンブック 楽しく始める/極める本
http://www.cbook24.com/bm_detail.asp?sku=4798014060

・逆引きHSP3プログラミング事典[応用編]
http://www.cbook24.com/bm_detail.asp?sku=4777512274

・逆引きHSP3プログラミング事典[基本編]
http://www.cbook24.com/bm_detail.asp?sku=4777512266

・最新HSP3プログラミング入門―Windows95/98/NT/2000/Me/XP対応
http://www.cbook24.com/bm_detail.asp?sku=4798011916

[PR]HSPプログラムコンテスト2006

http://hsp.tv/contest2006/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

■編集後記

わ~~~!コンテストがもうすぐおわるよ!
忘れず応募しよう!

HSPプログラムコンテスト2006
http://hsp.tv/contest2006/


そういえば、すっかり忘れてたけど、”うすあじ”がやってる
HSPセンターの紹介ってしてなかった・・・

こっちにも遊びに来てね。
http://hspcenter.com/


東京では、ここ数日くらいに急に寒くなったよ。
健康には注意が必要な季節。

そろそろ、うがい薬を買おうかな?

それじゃ、また!
(うすあじ)

■バックナンバーについて

 バックナンバーの公開ページはこちら

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:22

2006年10月11日

【講座】HSPよく使うフレーズ 第16回 データを入力する

こないだのアンケートにもあったけど、入力画面のノウハウってのは
どんなのがあるかなぁ?と思って、いくつかスクリプトを書いてみたよ。

今回は生年月日などを入力するスクリプトの最小限のスクリプトはこちら。

;入力画面1 数値変数
pos 100,100
objsize 40,20
input year
input month
input date
button "表示",*step2
stop
*step2
mes ""+year+"年"+month+"月"+date+"日"
stop

[input1.hsp/HSP3]

数値を入れる部分が3つあって、そこに数値を入れたあとに
”表示”ボタンを押すと、入力した値を表示する。
一応、これでも動くのですが、いくつか気になる点があるかなぁ。

一番気になるのは、入力を始める前に”0”がワクに入っているという事。
何かを注文するとか、個数を表す場合には最初に0が出ててもいいけど、
年月日にはちょっと向かない感じがするね。
というわけで、文字変数として入力することにしてみよう。
最初に変数を文字列として用意し、それをinput文に使う。


;入力画面2 文字変数
year=""
month=""
date=""
pos 100,100
objsize 40,20
input year
input month
input date
button "表示",*step2
stop
*step2
mes ""+year+"年"+month+"月"+date+"日"
stop

[input2.hsp/HSP3]

これでも同じように表示する。
でも、この後、計算するときに面倒だったり、全角での入力や異常な値の
入力に対応できません。
困った。

ユーザーは選択するだけにしてみたらどうだろう?
とりあえず月だけ。

;入力画面3 combox
month_sel=0
objsize 40,24
pos 100,100
combox month_sel,100,"1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12"
pos 100,200
button "表示",*step2
stop
*step2
month=month_sel+1
mes ""+month+"月"
stop

[input3.hsp/HSP3]

確かに出来るけど・・・
ちなみに、1を選ぶと0行目という感じになってるので、
最後の方に1を足すのがポイント。

もう1回、ユーザーが入力する形式で、しかもエラーメッセージ付きを
考えてみよう。

条件は
・年は1900から2100
・月は1から12
・日は1から31
・全ての値は半角の数字

というわけで、こんな感じです。

;入力画面4 文字変数+エラー
sdim error,10,30
error(0)="エラーメッセージ"
error(1)="年の値が1900未満か半角の数字ではありません。"
error(2)="年の値が2100以上です。"
error(3)="月の値が小さいか半角の数字ではありません。"
error(4)="月の値が大きすぎです。"
error(5)="日の値が小さいか半角の数字ではありません。"
error(6)="日の値が大きすぎです。"
year=""
month=""
date=""
*top
pos 100,100
objsize 40,20
input year
input month
input date
button "表示",*step2
stop
*step2
err_num=0
year_num=int(year)
if (year_num<1900){ err_num=1:goto *erorr }
if (year_num>2100){ err_num=2:goto *erorr }
month_num=int(month)
if (month_num<1){ err_num=3:goto *erorr }
if (month_num>12){ err_num=4:goto *erorr }
date_num=int(date)
if (date_num<1){ err_num=5:goto *erorr }
if (date_num>31){ err_num=6:goto *erorr }
mes ""+year_num+"年"+month_num+"月"+date_num+"日"
stop
*erorr
cls
mes error(err_num)
goto *top

[input4.hsp/HSP3]


えっ?"2100以上"ってのは2100を含んでるって?
まあ、そうなんだけどね。

ま、そのへんは気にせずに。
(うすあじ)

投稿者 usuaji : 00:30

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

HSP3でシューティング作りに挑戦しているのですが、
左上キーを押しながらショットしようとすると出来ません。
なぜでしょう?

<こたえ>

「教えて!おにたま!!」へのお便りありがとうございます(^^
シューティングゲームを作っているとのことですが、ショットの
キーと移動のキーは、よく使われるものなので、思ったように
動かすことができないと困りますよね。
同時にキーを押してもダメということですが、これはシューティングに
限らず色々な場面で起こってきます。主な原因は、キーボードの
特性によるものです。パソコンで使用しているキーボードによっては、
同時に2つ、または3つのキーまでしか同時に押していることを
認識できません。これは、「Nキーロールオーバー」とも呼ばれていて、
キーボードの回路の違いによって変わります。
特にノートパソコンでは同時に2つのキーまでしか認識しないことが
多いです。こうしたキーボードで快適にゲームを遊ぶには、
ジョイスティックを接続して使用した方がいいでしょう。
HSPで作成するゲームも、標準で同梱されているモジュール、
「mod_joystick.as」を使用することで、手軽に対応させることが
できるので、試してみてください。

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

(おにたま)

投稿者 usuaji : 00:30

【よみもの】「うしくんと話そう」 第11回 うっかりさんの巻き

うしくん:や、や('◇';ゞゞ ドモドモ

ゆめゆめ:( >▽)ゞ ふぁ~~ よくねた~
(´~ `) むにゃむにゃ

うしくん:あ、オハヨー(;@ @)

ゆめゆめ:ヽ(´o`; モシモシ うしくんどうしたの?

うしくん:(@@;))))なななな、なんでもないよ!

ゆめゆめ:いつもより目がおっきいよ?('-'*)

うしくん:ちょ、ちょっとゆうべ寝てなくて…( p_q)ネムネム

ゆめゆめ:{{{{(+_+)}}}} エー し ん じ ら れ な い!
     うしくんなんて、草くってるか寝てるかなのに
!Σ( ̄□  ̄;)

うしくん:(((^^;)そ、そうだよね~。

ゆめゆめ:(/'O';)/私の暴言にも突っ込んでくれない!
     どーしよどーしよ(;_; )オロオロ
( ;_;)オロオロ
     ハッΣ( ̄ロ ̄lll)もしかして、うしくんどこか具合
悪いんじゃない?!

うしくん:そ、そんなことじゃないよ(^^;)

ゆめゆめ:も、もしかして、肉として出荷されちゃうの
(((p(> v<)q)))?!!
     うしくん死んだら生きていけな~い。・°°・
(*>_<*)・°°・。 エ~ン

うしくん:だから、ちがうってば…(~_~メ) ピクピク

ゆめゆめ:じゃ~なになに??どうしたの~~??。゜(T^T)゜。

うしくん:も、もしかして、きみ、すっかり忘れてる?
( ̄~  ̄;)

ゆめゆめ:〈(゜。゜) え~、なんのこと~?

うしくん:……o(`0´)=0 パーンチ!

ゆめゆめ:☆(/ロ°)/ アレェェ

うしくんの名前はまだ発表じゃないの?!
以下次号に続く

投稿者 usuaji : 00:29

HSPTV!メルマガ 第24号

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HSPTV!メルマガ 第24号 N0.0024 2006/10/11 発行

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

■はじめに

いやぁ、雨やら台風やらがすぎてすっかり秋ですねぇ。
天気の良い日は気持ちいいけど、雨の日は寒い感じ。
こうして毎年冬がやってくるんでしょうね。

さて、先日おこなったアンケートの結果、
プレゼントの当選者はT.Tさん(イニシャルです。)に決定!
ご本人の希望でファンブックを送らせて頂きました。

HSPファンブック
http://www.cbook24.com/bm_detail.asp?sku=4798014060

アンケートへの参加、ありがとうございました!

それでは、メルマガスタートです。

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

【よみもの】「うしくんと話そう」第11回(ゆめゆめゆうか)

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

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

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

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【よみもの】「うしくんと話そう」 第11回 うっかりさんの巻き

うしくん:や、や('◇';ゞゞ ドモドモ

ゆめゆめ:( >▽)ゞ ふぁ~~ よくねた~
(´~ `) むにゃむにゃ

うしくん:あ、オハヨー(;@ @)

ゆめゆめ:ヽ(´o`; モシモシ うしくんどうしたの?

うしくん:(@@;))))なななな、なんでもないよ!

ゆめゆめ:いつもより目がおっきいよ?('-'*)

うしくん:ちょ、ちょっとゆうべ寝てなくて…( p_q)ネムネム

ゆめゆめ:{{{{(+_+)}}}} エー し ん じ ら れ な い!
     うしくんなんて、草くってるか寝てるかなのに
!Σ( ̄□  ̄;)

うしくん:(((^^;)そ、そうだよね~。

ゆめゆめ:(/'O';)/私の暴言にも突っ込んでくれない!
     どーしよどーしよ(;_; )オロオロ
( ;_;)オロオロ
     ハッΣ( ̄ロ ̄lll)もしかして、うしくんどこか具合
悪いんじゃない?!

うしくん:そ、そんなことじゃないよ(^^;)

ゆめゆめ:も、もしかして、肉として出荷されちゃうの
(((p(> v<)q)))?!!
     うしくん死んだら生きていけな~い。・°°・
(*>_<*)・°°・。 エ~ン

うしくん:だから、ちがうってば…(~_~メ) ピクピク

ゆめゆめ:じゃ~なになに??どうしたの~~??。゜(T^T)゜。

うしくん:も、もしかして、きみ、すっかり忘れてる?
( ̄~  ̄;)

ゆめゆめ:〈(゜。゜) え~、なんのこと~?

うしくん:……o(`0´)=0 パーンチ!

ゆめゆめ:☆(/ロ°)/ アレェェ

うしくんの名前はまだ発表じゃないの?!
以下次号に続く

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

HSP3でシューティング作りに挑戦しているのですが、
左上キーを押しながらショットしようとすると出来ません。
なぜでしょう?

<こたえ>

「教えて!おにたま!!」へのお便りありがとうございます(^^
シューティングゲームを作っているとのことですが、ショットの
キーと移動のキーは、よく使われるものなので、思ったように
動かすことができないと困りますよね。
同時にキーを押してもダメということですが、これはシューティングに
限らず色々な場面で起こってきます。主な原因は、キーボードの
特性によるものです。パソコンで使用しているキーボードによっては、
同時に2つ、または3つのキーまでしか同時に押していることを
認識できません。これは、「Nキーロールオーバー」とも呼ばれていて、
キーボードの回路の違いによって変わります。
特にノートパソコンでは同時に2つのキーまでしか認識しないことが
多いです。こうしたキーボードで快適にゲームを遊ぶには、
ジョイスティックを接続して使用した方がいいでしょう。
HSPで作成するゲームも、標準で同梱されているモジュール、
「mod_joystick.as」を使用することで、手軽に対応させることが
できるので、試してみてください。

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

(おにたま)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【講座】HSPよく使うフレーズ 第16回 データを入力する

こないだのアンケートにもあったけど、入力画面のノウハウってのは
どんなのがあるかなぁ?と思って、いくつかスクリプトを書いてみたよ。

今回は生年月日などを入力するスクリプトの最小限のスクリプトはこちら。

;入力画面1 数値変数
pos 100,100
objsize 40,20
input year
input month
input date
button "表示",*step2
stop
*step2
mes ""+year+"年"+month+"月"+date+"日"
stop

[input1.hsp/HSP3]

数値を入れる部分が3つあって、そこに数値を入れたあとに
”表示”ボタンを押すと、入力した値を表示する。
一応、これでも動くのですが、いくつか気になる点があるかなぁ。

一番気になるのは、入力を始める前に”0”がワクに入っているという事。
何かを注文するとか、個数を表す場合には最初に0が出ててもいいけど、
年月日にはちょっと向かない感じがするね。
というわけで、文字変数として入力することにしてみよう。
最初に変数を文字列として用意し、それをinput文に使う。


;入力画面2 文字変数
year=""
month=""
date=""
pos 100,100
objsize 40,20
input year
input month
input date
button "表示",*step2
stop
*step2
mes ""+year+"年"+month+"月"+date+"日"
stop

[input2.hsp/HSP3]

これでも同じように表示する。
でも、この後、計算するときに面倒だったり、全角での入力や異常な値の
入力に対応できません。
困った。

ユーザーは選択するだけにしてみたらどうだろう?
とりあえず月だけ。

;入力画面3 combox
month_sel=0
objsize 40,24
pos 100,100
combox month_sel,100,"1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12"
pos 100,200
button "表示",*step2
stop
*step2
month=month_sel+1
mes ""+month+"月"
stop

[input3.hsp/HSP3]

確かに出来るけど・・・
ちなみに、1を選ぶと0行目という感じになってるので、
最後の方に1を足すのがポイント。

もう1回、ユーザーが入力する形式で、しかもエラーメッセージ付きを
考えてみよう。

条件は
・年は1900から2100
・月は1から12
・日は1から31
・全ての値は半角の数字

というわけで、こんな感じです。

;入力画面4 文字変数+エラー
sdim error,10,30
error(0)="エラーメッセージ"
error(1)="年の値が1900未満か半角の数字ではありません。"
error(2)="年の値が2100以上です。"
error(3)="月の値が小さいか半角の数字ではありません。"
error(4)="月の値が大きすぎです。"
error(5)="日の値が小さいか半角の数字ではありません。"
error(6)="日の値が大きすぎです。"
year=""
month=""
date=""
*top
pos 100,100
objsize 40,20
input year
input month
input date
button "表示",*step2
stop
*step2
err_num=0
year_num=int(year)
if (year_num<1900){ err_num=1:goto *erorr }
if (year_num>2100){ err_num=2:goto *erorr }
month_num=int(month)
if (month_num<1){ err_num=3:goto *erorr }
if (month_num>12){ err_num=4:goto *erorr }
date_num=int(date)
if (date_num<1){ err_num=5:goto *erorr }
if (date_num>31){ err_num=6:goto *erorr }
mes ""+year_num+"年"+month_num+"月"+date_num+"日"
stop
*erorr
cls
mes error(err_num)
goto *top

[input4.hsp/HSP3]


えっ?"2100以上"ってのは2100を含んでるって?
まあ、そうなんだけどね。

ま、そのへんは気にせずに。
(うすあじ)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【募集】メルマガ投稿募集中

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

 募集するコーナーは

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

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

(2)「うしくんの名前募集・うし的人生相談」

 HSPTVサイトで見かける”うしくん”に名前を付けてね。
"うし的人生相談"への相談も受け付けてますよ。


メルマガに関する要望や感想、日常のお便りもお待ちしています。

 全ての投稿は”うすあじ”( hsptv@hspcenter.com )まで。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[PR]オススメHSP3の本

・公認 HSPファンブック 楽しく始める/極める本
http://www.cbook24.com/bm_detail.asp?sku=4798014060

・逆引きHSP3プログラミング事典[応用編]
http://www.cbook24.com/bm_detail.asp?sku=4777512274

・逆引きHSP3プログラミング事典[基本編]
http://www.cbook24.com/bm_detail.asp?sku=4777512266

・最新HSP3プログラミング入門―Windows95/98/NT/2000/Me/XP対応
http://www.cbook24.com/bm_detail.asp?sku=4798011916

[PR]HSPプログラムコンテスト2006

http://hsp.tv/contest2006/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

■編集後記

さて、そろそろコンテストの募集期間が終わります。
参加予定の人は忘れないようにお早めに!

HSPプログラムコンテスト2006
http://hsp.tv/contest2006/

どんどんスゴイ作品が登録されてます。
楽しみですね。

それから、秋から冬にかけては鍋がおいしい季節。
こちらも楽しみですねぇ。モグモグ。

(うすあじ)

■バックナンバーについて

 バックナンバーの公開ページはこちら

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 : 00:28