【じゃ】HSP初質P52【自己解決ゥ!】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/10/16(火) 19:37:21■とりあえずこれを嫁。
http://www.geocities.jp/hsp_summary/law.html
■ 前スレ
【厨房満開】HSP初質P51【ビラビラ満開】
http://pc11.2ch.net/test/read.cgi/tech/1142529119/
■HSPの入手はここから(HSP2.61/HSP3.1)
□Hot Soup Processor Page
http://www.onionsoft.net/hsp/
■HSPの各種情報
□HSP Wiki
http://quasiquote.org/hspwiki/
http://quasiquote.org/hspwiki/2%a4%c1%a4%e3%a4%f3%a4%cd%a4%eb%a4%ce%a5%b9%a5%ec%a5%c3%a5%c9
■HSPLetの入手はここから(ブラウザ上でHSPを動かす)
□HSP BIGINNER'S CLUB
http://www.rinku.zaq.ne.jp/ultimate/
■HSPスレまとめページ
□Hot Soup Processor@2ch
http://hsp2ch.hp.infoseek.co.jp/
http://www.geocities.jp/hsp_summary/
0002デフォルトの名無しさん
2007/10/16(火) 19:41:200003デフォルトの名無しさん
2007/10/16(火) 19:55:470004デフォルトの名無しさん
2007/10/16(火) 23:46:260005デフォルトの名無しさん
2007/10/16(火) 23:56:300006デフォルトの名無しさん
2007/10/17(水) 07:43:07↓ はいどうぞ
0007デフォルトの名無しさん
2007/10/17(水) 10:48:06コンパイラも作ればいいのに
0008デフォルトの名無しさん
2007/10/17(水) 19:16:420009デフォルトの名無しさん
2007/10/17(水) 19:20:520010デフォルトの名無しさん
2007/10/17(水) 21:05:05ニコニコにHSPネタ上げてる奴w
0011デフォルトの名無しさん
2007/10/17(水) 21:32:17おぉ 以外にいいアイデアかもな
一曲終わるまで・・と 音声認識でソース書くやつは、うける
0012デフォルトの名無しさん
2007/10/18(木) 00:31:14○意外に
0013デフォルトの名無しさん
2007/10/18(木) 00:50:200014デフォルトの名無しさん
2007/10/18(木) 01:11:34ないから作れ
0015デフォルトの名無しさん
2007/10/18(木) 01:38:210016デフォルトの名無しさん
2007/10/18(木) 01:39:26作れ
0017デフォルトの名無しさん
2007/10/18(木) 02:06:110018デフォルトの名無しさん
2007/10/18(木) 19:55:58最近食ってないな〜
俺様はジャムぱんと一緒食べるのが定番だったな
0019デフォルトの名無しさん
2007/10/18(木) 23:13:24ショック!
ペヤング!
0020デフォルトの名無しさん
2007/10/19(金) 02:45:460021デフォルトの名無しさん
2007/10/19(金) 03:49:49何を求めているか知らないが、抽象的すぎ
とりあえずあるといっておくか
0022デフォルトの名無しさん
2007/10/19(金) 04:46:350023デフォルトの名無しさん
2007/10/19(金) 04:50:280024デフォルトの名無しさん
2007/10/19(金) 08:07:140025デフォルトの名無しさん
2007/10/19(金) 21:48:27ウィンドウ作ってから変更するの?
糞アプリが多くて困る
あほの仲間どもに言っとけ
0026デフォルトの名無しさん
2007/10/19(金) 23:08:330027デフォルトの名無しさん
2007/10/19(金) 23:11:280028デフォルトの名無しさん
2007/10/19(金) 23:12:28つまんねーから失せろ
0029デフォルトの名無しさん
2007/10/19(金) 23:13:310030デフォルトの名無しさん
2007/10/19(金) 23:19:470031デフォルトの名無しさん
2007/10/19(金) 23:21:210032デフォルトの名無しさん
2007/10/19(金) 23:21:450033デフォルトの名無しさん
2007/10/19(金) 23:22:320034デフォルトの名無しさん
2007/10/19(金) 23:31:160035 ̄ ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
2007/10/19(金) 23:34:22彳丿; \,,,,,,,,/ u lヽ
入丿 -◎─◎- ヽミ
| u:.::(●:.:.●)u:.::|
| :∴) 3 (∴.::|
ヽ、 ,___,. u .ノ
⌒ヽ:.___;;;;;;;;;;___.ノ⌒
0036 ̄ ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
2007/10/19(金) 23:35:31彳丿; \,,,,,,,,/ u lヽ
入丿 -◎─◎- ヽミ
| u:.::(●:.:.●)u:.::|
| :∴) 3 (∴.::|
ヽ、 ,___,. u .ノ
⌒ヽ:.___;;;;;;;;;;___.ノ⌒
0037 ̄ ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
2007/10/19(金) 23:36:48彳丿; \,,,,,,,,/ u lヽ
入丿 -◎─◎- ヽミ がんばってます! 自己解決ゥ!
| u:.::(●:.:.●)u:.::|
| :∴) 3 (∴.::|
ヽ、 ,___,. u .ノ
⌒ヽ:.___;;;;;;;;;;___.ノ⌒
0038デフォルトの名無しさん
2007/10/19(金) 23:38:170039デフォルトの名無しさん
2007/10/19(金) 23:38:30必死だな
0040デフォルトの名無しさん
2007/10/19(金) 23:39:040041デフォルトの名無しさん
2007/10/19(金) 23:40:300042デフォルトの名無しさん
2007/10/19(金) 23:41:010043デフォルトの名無しさん
2007/10/19(金) 23:41:110044デフォルトの名無しさん
2007/10/19(金) 23:41:530045 ̄ ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄
2007/10/19(金) 23:42:52彳丿; \,,,,,,,,/ u lヽ
入丿 -◎─◎- ヽミ
| u:.::(●:.:.●)u:.::|
| :∴) 3 (∴.::|
ヽ、 ,___,. u .ノ
⌒ヽ:.___;;;;;;;;;;___.ノ⌒
0046デフォルトの名無しさん
2007/10/19(金) 23:43:260047デフォルトの名無しさん
2007/10/19(金) 23:45:100048デフォルトの名無しさん
2007/10/19(金) 23:45:490049デフォルトの名無しさん
2007/10/19(金) 23:46:540050デフォルトの名無しさん
2007/10/19(金) 23:58:490051デフォルトの名無しさん
2007/10/20(土) 00:01:070052デフォルトの名無しさん
2007/10/20(土) 00:01:160053デフォルトの名無しさん
2007/10/20(土) 00:04:01オレもつくってみっかなw
0054デフォルトの名無しさん
2007/10/20(土) 00:05:40マジで
0055デフォルトの名無しさん
2007/10/20(土) 00:10:17wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0056デフォルトの名無しさん
2007/10/20(土) 00:13:530057デフォルトの名無しさん
2007/10/20(土) 00:15:12wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0058デフォルトの名無しさん
2007/10/20(土) 00:16:30ログ掘りさせる為にも荒らしのレスは多ければ多いほどいい
0059デフォルトの名無しさん
2007/10/20(土) 00:17:190060デフォルトの名無しさん
2007/10/20(土) 00:21:48へたれの分際で荒らすからwwwwwww
0061デフォルトの名無しさん
2007/10/20(土) 00:22:370062デフォルトの名無しさん
2007/10/20(土) 00:23:49とりあえず規制議論に報告してくるわ
0063デフォルトの名無しさん
2007/10/20(土) 00:24:52ヘタレ乙
0064デフォルトの名無しさん
2007/10/20(土) 00:29:260065デフォルトの名無しさん
2007/10/20(土) 00:31:410066デフォルトの名無しさん
2007/10/20(土) 00:32:40自演乙wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0067デフォルトの名無しさん
2007/10/20(土) 00:33:55ヘタレすぎwwwwwww糞つまんねえから帰るわwwwwwwww
0068デフォルトの名無しさん
2007/10/20(土) 00:34:450069デフォルトの名無しさん
2007/10/20(土) 00:42:52あ、一度勇気を振り絞って書いたか。
0070デフォルトの名無しさん
2007/10/20(土) 00:43:17解散です。
ご苦労様でした。
0071デフォルトの名無しさん
2007/10/20(土) 00:44:100072デフォルトの名無しさん
2007/10/20(土) 00:44:39途中から「あ、」とかwwwww
0073デフォルトの名無しさん
2007/10/20(土) 00:46:360074デフォルトの名無しさん
2007/10/20(土) 00:47:57言われてから反抗するように自己解決と書くのは見苦しいぞ自己解決君。
0075自己解決君
2007/10/20(土) 00:49:06オレ人気者!!
自己解決ゥー!
0076デフォルトの名無しさん
2007/10/20(土) 00:49:48相手すればするほど喜ばすだけなのに・・・
0077デフォルトの名無しさん
2007/10/20(土) 00:50:200078デフォルトの名無しさん
2007/10/20(土) 00:53:520079デフォルトの名無しさん
2007/10/20(土) 00:57:47アプリの名前は?
0080デフォルトの名無しさん
2007/10/20(土) 01:15:15自分で作ったほうがどんなものか身に付く。
0081デフォルトの名無しさん
2007/10/20(土) 03:45:370082デフォルトの名無しさん
2007/10/20(土) 06:22:44doubleが受け取れないそうで・・
ランタイムの方で修正してくれればいいのにな
↓はいどうぞ 基地外君
0083デフォルトの名無しさん
2007/10/20(土) 12:41:540084デフォルトの名無しさん
2007/10/20(土) 17:53:04あそこに、書き込んでる時点で、下の下の基地外太郎
0085デフォルトの名無しさん
2007/10/20(土) 19:50:100086デフォルトの名無しさん
2007/10/20(土) 23:06:030087デフォルトの名無しさん
2007/10/21(日) 00:34:48あそこの掲示板で
「#」 使う椰子はそう居ないはずw
dion と 「#」 で大体見当がついたよwww
0088デフォルトの名無しさん
2007/10/21(日) 00:37:51天才!
0089デフォルトの名無しさん
2007/10/21(日) 00:46:170090デフォルトの名無しさん
2007/10/21(日) 11:59:30友達にいるからなんとなく分かる。
あれが彼なりの精一杯な口調なんだよ
0091デフォルトの名無しさん
2007/10/21(日) 23:04:320092デフォルトの名無しさん
2007/10/22(月) 19:51:270093あみじ房
2007/10/23(火) 00:51:11東方projectみたいに、背景だけ3Dにしたい場合、何をどうしたらいいかおすえてください。おながいします。
ちなみにおいらは、昔HSPでクソゲー作ってたのと、DirectXのラッパーライブラリを使って、
2Dのクソゲーを作ったぐらいのしょぼいパワーしか無いです。おながいしまう。
0094デフォルトの名無しさん
2007/10/23(火) 01:00:130095デフォルトの名無しさん
2007/10/23(火) 01:01:430096あみじ房
2007/10/23(火) 01:21:41このスレに張り付いてたあの頃の俺は一体何だったんだろう。
日曜だけでも、HSP3をガチでやってみようかな・・・。うーむ。
0097デフォルトの名無しさん
2007/10/23(火) 01:22:470098あみじ房
2007/10/23(火) 02:03:24構ってくれる鬱で神な人も居ないのね。うんこだね。
ポリゴンとスプライトで事故解決しました。もういいやがおー。がーおー。
0099デフォルトの名無しさん
2007/10/23(火) 02:06:390100デフォルトの名無しさん
2007/10/23(火) 02:23:240101デフォルトの名無しさん
2007/10/23(火) 03:24:00スゲェ!!!
0102デフォルトの名無しさん
2007/10/23(火) 08:17:42やったな!
0103デフォルトの名無しさん
2007/10/23(火) 19:05:57それだけでも凄いんじゃないの。
0104デフォルトの名無しさん
2007/10/23(火) 23:36:12今は、本家ですら「誰それ?あぁ管理人ね!」的なんだもん。w
0105デフォルトの名無しさん
2007/10/23(火) 23:47:01B「何、そのヒーロー」
0106デフォルトの名無しさん
2007/10/24(水) 00:37:11B「え? また何か和菓子で問題発生?」
0107自己解決ゥ!
2007/10/25(木) 04:46:250108デフォルトの名無しさん
2007/10/25(木) 21:49:58もう、確定w
0109デフォルトの名無しさん
2007/10/25(木) 23:17:06確定じゃないの?
0110デフォルトの名無しさん
2007/10/26(金) 04:10:590111デフォルトの名無しさん
2007/10/28(日) 14:38:060112デフォルトの名無しさん
2007/10/28(日) 23:20:520113デフォルトの名無しさん
2007/10/28(日) 23:43:042の3乗を整数出力するコードを教えてください
0114デフォルトの名無しさん
2007/10/29(月) 00:49:11a=strmid(b,0,2)
とすると正常に動作するのですが、
a=strmid(text,0,2)
とすると
変数名が指定されていません
と出ます。
何が原因なのでしょうか?
#deffunc echo str text, int size, int max_width, int max_height
for y, 0, max_height, size
for x, 0, max_width, size
b=text
a=strmid(text,0,2)
pos x, y
mes a
next
next
return
echo "初めまして", 30, 640, 480
0115デフォルトの名無しさん
2007/10/29(月) 05:39:11ごめん、聞きたいのは「mes 2*2*2」とか?
「整数出力」の意味が不明瞭。
>>114
「str text」としているので、textは変数ではなく文字列になってます。そのためです。
あとユーザ定義命令全体を#module〜#globalで囲む方がいいと思う。
0116デフォルトの名無しさん
2007/10/29(月) 22:26:45#include "hspmath.as"
x=2:y=3:mes int(pow(x,y))
stop
y=3だと値がちゃんとでないんです
0117デフォルトの名無しさん
2007/10/29(月) 22:50:560118デフォルトの名無しさん
2007/10/29(月) 22:53:190119デフォルトの名無しさん
2007/10/29(月) 23:35:420120デフォルトの名無しさん
2007/10/29(月) 23:58:160121デフォルトの名無しさん
2007/10/30(火) 00:00:360122デフォルトの名無しさん
2007/10/30(火) 00:33:23お前が呼べや!
ワシが連れてきたら、自己解決になってまうやろ!
0123デフォルトの名無しさん
2007/10/30(火) 00:34:01言い出しっぺが出来ないってことは
ヘタレで終了か
ご苦労さん
0124デフォルトの名無しさん
2007/10/30(火) 00:34:21ここを見ると幸せになれるかも。
ttp://hsp.tv/play/pforum.php?mode=pastwch&num=9058
浮動点小数の仕様みたいなものだから仕方ない。四捨五入すれば充分だと思いますが。
0125デフォルトの名無しさん
2007/10/30(火) 01:22:51mes 8
とか
dialog "8"
でいいじゃん。何が幸せだバカにしているのか
0126デフォルトの名無しさん
2007/10/30(火) 14:20:50仕様を誤解している可能性 大
0127デフォルトの名無しさん
2007/10/30(火) 22:08:06それは何が解らないんだ。
・2の3乗を計算する方法が解らない
・整数を出力する方法が解らない
0128デフォルトの名無しさん
2007/10/30(火) 22:51:480129デフォルトの名無しさん
2007/10/30(火) 23:55:47書き込みさらりと消してる…
ゴクリ…
0130デフォルトの名無しさん
2007/10/31(水) 02:25:41書き込みさらりと消してる…
すげぇぜ…
0131デフォルトの名無しさん
2007/10/31(水) 17:15:21重ね再生じゃなかった
「ピューン」と鳴るwaveファイルを「ピュピュピュピューン」って鳴らしたいんだけど
「ピューンピューンピューン」ってなってしまう
Directx9.0cは入ってるんだけどなんでだろう
0132デフォルトの名無しさん
2007/10/31(水) 18:49:02そんな症状、自分で起きたこともないうえ、聞くのも今回が初めてだ。
説明が抽象的で、状況をつかみにくいんで、
使用したwaveファイルと、検証用のスクリプトを晒して頂きたい所。
0133デフォルトの名無しさん
2007/10/31(水) 20:41:21これで分かるかな…
ttp://gamdev.org/up/img/10422.zip
0134デフォルトの名無しさん
2007/10/31(水) 22:28:48あと、#includeファイルも付けろよ
0135デフォルトの名無しさん
2007/10/31(水) 22:49:42の一番下
>DSDUPLICATE
(ry
> 機能
> コピー元バッファー番号と同じ状態のものを、コピー先バッファー番号につくります。
> DIRECTSOUNDの仕様上、同じ音でも重ね合わせる場合は2個バッファーを作成しなければならないのです。
> しかし、それはメモリの無駄なので1つのメモリで共有させることができます。
って書いてあるが
0136デフォルトの名無しさん
2007/10/31(水) 23:34:42それは同じ音をエコーのように重ね合わせる場合に使うものだと思ってた
一応やってみたけど変わらなかった
hmm.asを付けて再度
ttp://gamdev.org/up/img/10425.zip
0137デフォルトの名無しさん
2007/11/01(木) 00:12:29盤面はMap(X,Y)という変数で定義しています。
たて、横、斜めの並びを判定するにはどのようなスクリプトを組めばいいのでしょう?
0138デフォルトの名無しさん
2007/11/01(木) 00:14:290139デフォルトの名無しさん
2007/11/01(木) 00:17:36マルバツって9マスのアレか?
だったら、勝ちのケースが8パターンしかないんだから
毎回、全通りチェックすれば良いんじゃない?
0140デフォルトの名無しさん
2007/11/01(木) 00:23:27#enum WAV_1
#enum WAV_2
#enum MAX_WAV //wavバッファの個数
#const WAV_COPY MAX_WAV //コピー用バッファ(MAX_WAVのバッファは使われない)
#const MAX_WAV_COPY 128 //コピー用バッファの個数
*main
onexit goto *exit
HMMInit : DSInit : if stat == DS_ERR : dialog "DirectSoundの初期化に失敗",0 : end
DSLoadFname "1.wav", WAV_1 : if stat == DS_ERR : dialog "waveファイルの読み込みに失敗",0 : end
DSLoadFname "2.wav", WAV_2 : if stat == DS_ERR : dialog "waveファイルの読み込みに失敗",0 : end
dim FlagCommitWav, MAX_WAV //再生予約フラグ
repeat
getkey key, 90 : if key : FlagCommitWav(WAV_1) = 1 //再生を予約
getkey key, 88 : if key : FlagCommitWav(WAV_2) = 1
repeat MAX_WAV
if FlagCommitWav(cnt) == 1 {
DSCHECKPLAY cnt //wavが再生中か確認
PlayingCheck = stat
PlayTgt = cnt
if PlayingCheck == DS_OK { //再生中ならバッファ複製して鳴らす
0141デフォルトの名無しさん
2007/11/01(木) 00:24:02repeat MAX_WAV_COPY
DSCHECKPLAY WAV_COPY + b
PlayingCheck = stat
if PlayingCheck == DS_OK { //空きコピー用バッファを探す
b++
} else {
PlayTgt = WAV_COPY + b
DSDUPLICATE PlayTgt, cnt
break
}
loop
}
DSPLAY PlayTgt //再生されてない元バッファか複製したコピーバッファを再生
FlagCommitWav(cnt) = 0 //予約を元に戻す
}
loop
await 16
loop
*exit
HMMEnd
end
//こんな感じ?
0142132
2007/11/01(木) 16:19:15こちらの環境では、連射に合わせて再生されたから、
そちらPC環境の問題である可能性が高くなってきたな。
詳しいことは分からないが、
DirectSoundに対応してないサウンドボードもあるっつーから
dxdiagで、DirectSoundのテスト項目が通るか確認したほうが良さそうだな。
その他。コントロールパネルの、サウンドとオーディオデバイスのプロパティ内の
どれかにある「オーディオの詳細プロパティ」で
「ハードウェア アクセラレータ」の設定も。
参考までに、こちらの環境では、アクセラレータ設定が
「最大」の時に、「ドドドドドドゥーン」だったものが、
「なし」にすると「ドゥドゥドゥドゥドゥドゥーン」くらいになった。
(「ドゥーンドゥーンドゥーン」に少しだけ近づいた。)
0143デフォルトの名無しさん
2007/11/02(金) 16:25:110144デフォルトの名無しさん
2007/11/02(金) 20:50:25test = peek(data,3)
mes ""+test+""
ってやったときにAを出力したいんでけど数値が出力されてしまいます。
この数値を文字列に変換したいのですが、どうしたらいいでしょうか。
調べてみてstr命令を見つけましたが、うまくいきません。ver3では使えないんですか?
0145デフォルトの名無しさん
2007/11/02(金) 20:56:030146デフォルトの名無しさん
2007/11/03(土) 00:25:25かなり動作が重くなってしまい、思うように動きません
バッファ1と2にそれぞれ別種の画像を描画し、重ねて表示します
gmode 2
gsel 9 : gzoom 640,480,2,0,0,320,240
gsel 0
redraw 0
gzoom 640,480,1,0,0,320,240
gcopy 9,0,0,640,480
redraw 1
バッファ2には透過させたい部分があるため、
事前にgzoomで別のバッファにコピーしていますが、
これが処理落ちの一因となっているのでしょうか
等倍表示の描画は↓です。これは普通に動きます
gmode 2
gsel 0
redraw 0
gcopy 1,0,0,320,240 : gcopy 2,0,0,320,240
redraw 1
どうかご教示お願いいたします
OSはXP(SP2)、メモリ256MBです
0147デフォルトの名無しさん
2007/11/03(土) 12:12:490148デフォルトの名無しさん
2007/11/03(土) 14:29:220149デフォルトの名無しさん
2007/11/03(土) 14:36:080150146
2007/11/03(土) 15:20:48描画のソースは
*men
gsel 8 : gzoom 640,480,2,0,0,320,240
gsel 0
gmode 2
redraw 0
gzoom 640,480,1,0,0,320,240
gcopy 8,0,0,640,480
redraw 1
----<仮想画面にいろいろ描画>----
wait 1
goto *men
という感じです(マイナーチェンジしてますがご了承を)
0151デフォルトの名無しさん
2007/11/03(土) 16:43:22gsel 8 : gzoom 640,480,2,0,0,320,240
gsel 0
gmode 2
gzoom 640,480,1,0,0,320,240
redraw 0
gcopy 8,0,0,640,480
redraw 1
----<仮想画面にいろいろ描画>----
wait 1
goto *men
0152デフォルトの名無しさん
2007/11/03(土) 17:33:22また画面がちらついて見えるようになってしまいます
ところで、言いにくいのですが
wait 1 を await 1 に変えたら自己解決してしまいました
(等倍表示も2倍表示も同じように描画されます)
これは単純なメモリ不足ということでしょうか・・
何はともあれお騒がせして申し訳ございません
0153デフォルトの名無しさん
2007/11/03(土) 17:50:18しかし何故そこからメモリ不足という推論がでてくるのか分からん。
0154デフォルトの名無しさん
2007/11/03(土) 17:54:480155デフォルトの名無しさん
2007/11/03(土) 23:19:100156デフォルトの名無しさん
2007/11/03(土) 23:39:14遅いよw
0157デフォルトの名無しさん
2007/11/04(日) 13:55:270158デフォルトの名無しさん
2007/11/04(日) 15:05:46どうかご教示お願いいたします
0159デフォルトの名無しさん
2007/11/04(日) 18:49:09遅れて悪いけど、丁寧にどうも。
でも、どれも問題はなさそうだった。
DirectSoundのテストは全部パス、ハードウェアアクセラレータも最大。
原因は分からずとも、一応自身の環境の問題みたいなので、これ以上はスレ違いだね…
ともあれ本当にありがとう。
0160デフォルトの名無しさん
2007/11/04(日) 23:14:130161デフォルトの名無しさん
2007/11/04(日) 23:24:090162デフォルトの名無しさん
2007/11/04(日) 23:31:31してやってもいいぞ!
0163デフォルトの名無しさん
2007/11/04(日) 23:34:490164デフォルトの名無しさん
2007/11/06(火) 21:53:310165デフォルトの名無しさん
2007/11/06(火) 23:11:000166デフォルトの名無しさん
2007/11/06(火) 23:24:040167デフォルトの名無しさん
2007/11/06(火) 23:24:400168デフォルトの名無しさん
2007/11/06(火) 23:36:54教えて厨掲示板
ttp://oshiete.goo.ne.jp/
てめぇの疑問、てめぇで解決。
自己解決掲示板
ttp://pc11.2ch.net/test/read.cgi/tech/1192531041/
0169デフォルトの名無しさん
2007/11/07(水) 00:06:520170デフォルトの名無しさん
2007/11/07(水) 23:27:10セパハン 1-1 浦和レッズ
0171デフォルトの名無しさん
2007/11/08(木) 00:17:230172デフォルトの名無しさん
2007/11/08(木) 18:55:230173デフォルトの名無しさん
2007/11/08(木) 19:06:03うちの環境だけ?
0174デフォルトの名無しさん
2007/11/08(木) 19:09:01こんなところがあったのね
COMだから使えるわけだ
っと自己解決ぅぅぅぅぅ
0175デフォルトの名無しさん
2007/11/08(木) 21:49:200176デフォルトの名無しさん
2007/11/08(木) 22:44:470177デフォルトの名無しさん
2007/11/14(水) 23:44:030178デフォルトの名無しさん
2007/11/15(木) 22:44:22質問です。
boxfなどで矩形を描画し、その上にmesで文字を描画できますが
boxfなどは背景ととらえて良いのでしょうか?
それともmes命令が文字描画として特化した命令なんでしょうか?
稚拙な質問で申し訳ないですが教えてください。
0179デフォルトの名無しさん
2007/11/15(木) 22:48:130180デフォルトの名無しさん
2007/11/15(木) 23:18:32データ入力をしたら円を書いて区切ってくれるという簡単なプログラムでいいのだけど
誰かヒントください
0181デフォルトの名無しさん
2007/11/15(木) 23:21:46この仕様だと果てしなく難しいな
0182デフォルトの名無しさん
2007/11/15(木) 23:31:380183デフォルトの名無しさん
2007/11/15(木) 23:34:470184デフォルトの名無しさん
2007/11/15(木) 23:37:130185デフォルトの名無しさん
2007/11/15(木) 23:47:370187デフォルトの名無しさん
2007/11/16(金) 00:39:020188デフォルトの名無しさん
2007/11/16(金) 01:07:26果てしなくはないだろうけど、円を書くのはちと面倒だな。
後は大して難しくないだろ。
0189あみじ房
2007/11/17(土) 00:34:380190デフォルトの名無しさん
2007/11/17(土) 00:36:580191デフォルトの名無しさん
2007/11/18(日) 01:18:04以下のようにしてチェックボックスの背景色と文字色を変更しようとしたのですが、
OSがMeだと文字色も変わるのですがXPだと背景色しか変わりませんでした。
オーナードローを使えばなんとかなることは分かりましたがチェック状態まで自分で管理するのは
ちょっと面倒なので他の方法はないでしょうか?
#uselib "gdi32"
#func SetBkMode "SetBkMode" int,int
#cfunc GetStockObject "GetStockObject" int
#func SetTextColor "SetTextColor" int,int
#define ctype RGB(%1,%2,%3)(%1|%2<<8|%3<<16)
oncmd gosub *ctlcoloredit,$138
hBrush=GetStockObject(4)
a=0
screen 0,320,240,4
cls 4
objsize 100,20
pos 5,5 : chkbox "チェックボックス",a
chkhwnd=objinfo(stat,2)
stop
*ctlcoloredit
if chkhwnd == lparam{
SetBkMode wparam,1
SetTextColor wparam,RGB($FF,$FF,$FF)
return hBrush
}
return
0192デフォルトの名無しさん
2007/11/18(日) 03:33:38font "MS P ゴシック",12
objmode 2
color 255,255,255
objsize 10,20
pos 5,5 : chkbox "",a
chkhwnd=objinfo(stat,2)
pos 17,5 : mes "チェックボックス"
stop
0193デフォルトの名無しさん
2007/11/18(日) 11:11:270194デフォルトの名無しさん
2007/11/18(日) 12:11:310195あみじ房
2007/11/18(日) 17:37:210196デフォルトの名無しさん
2007/11/18(日) 23:27:180197デフォルトの名無しさん
2007/11/22(木) 19:33:573.0ではできないような事やここは3.0のがよかったなみたいな事をお願いします
0198デフォルトの名無しさん
2007/11/22(木) 19:35:24めんどくせー
0199197
2007/11/22(木) 19:39:060200デフォルトの名無しさん
2007/11/22(木) 19:47:40だが断る
0201デフォルトの名無しさん
2007/11/22(木) 20:25:05つ ttp://hsp.tv/make/hsp31hl.html
0202デフォルトの名無しさん
2007/11/22(木) 22:10:29ttp://www.hspdx.net/hspyarou/0003.html
ここのサンプルをコピペしても、
スペースキーで弾の発射になりません。
カーソル←で弾の発射になってしまいます。
hspが3.1なのがいけないのでしょうか?
0203デフォルトの名無しさん
2007/11/22(木) 22:35:36を
if S&16 : if T = 0 : T=1:A=X:B=Y ;・・・(1)
に変える.これはHSPがおかしい
0204デフォルトの名無しさん
2007/11/22(木) 22:48:12ありがとうございます。
何がおかしかったのかはよく分かりませんが、一応解決しました。
0205デフォルトの名無しさん
2007/11/22(木) 22:51:510206あみじ房
2007/11/23(金) 15:01:00意味不明な覚え方してる人が居ると
ソフト屋さんの知り合いから聞いたことあるよん。
こんなんで、世の中よく動いてるね・・・・。
0207デフォルトの名無しさん
2007/11/23(金) 17:20:54解決策はあってるけどHSPがおかしいわけじゃないだろ
Cを含む大抵の言語で論理和より比較演算子の方が優先度高いぞ
>>204
HSP3.0以降だと
if(S&16=16)&(T=0) : T=1:A=X:B=Y ;
は
if(S&(16=16))&(T=0) : T=1:A=X:B=Y ;
こう解釈される。&より=の方が先に計算されちゃう。
0208デフォルトの名無しさん
2007/11/23(金) 17:30:590209デフォルトの名無しさん
2007/11/23(金) 17:47:10確かに論理演算子は欲しい
0210デフォルトの名無しさん
2007/11/23(金) 23:19:110211デフォルトの名無しさん
2007/11/23(金) 23:20:080212デフォルトの名無しさん
2007/11/23(金) 23:30:290213デフォルトの名無しさん
2007/11/24(土) 09:40:270214あみぢ厨
2007/11/24(土) 15:44:26ありがとうございましたアッー!
0215デフォルトの名無しさん
2007/11/26(月) 01:01:29*start
screen
dim word,512
repeat 1024 : wpoke word,cnt*2,(12345)+cnt : loop
bsave "bin.aaa",word,-1
end
これで作ったbin.aaaの中見てみたら、どうやら最初の値(12345)がちゃんと保存されないみたいなんだけど
バイナリエディタで見ると「39 30 3A 30 3B…」ってなってる
なんでだっぜ
0216デフォルトの名無しさん
2007/11/26(月) 01:22:230217デフォルトの名無しさん
2007/11/26(月) 12:00:260218デフォルトの名無しさん
2007/11/26(月) 12:16:240219デフォルトの名無しさん
2007/11/26(月) 15:22:250220デフォルトの名無しさん
2007/11/26(月) 21:31:53助かったっぜ
0221デフォルトの名無しさん
2007/11/27(火) 00:08:24その言葉だけで意味が分かるんなら、
初めから聞かなくても分かったんじゃねーの?
0222デフォルトの名無しさん
2007/11/27(火) 00:09:200223デフォルトの名無しさん
2007/11/27(火) 01:31:37輪ロス
0224デフォルトの名無しさん
2007/11/27(火) 02:15:15こういうのをhspでやるとすると
0225デフォルトの名無しさん
2007/11/27(火) 23:28:370226ふかわりょう
2007/11/27(火) 23:39:31サンプル提示させといて「出来ました!」は違うよね
0227あみぢ厨
2007/11/28(水) 00:09:10VB.NETとかで作ると、.netフレームワークが居るからウンコすぎる。
0228デフォルトの名無しさん
2007/11/28(水) 00:12:000229あみぢ厨
2007/11/28(水) 00:30:56/ \ /\ キリッ
. / (ー) (ー)\
/ ⌒(__人__)⌒ \
| |r┬-| | VB.NET(笑)
\ `ー'´ /
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
____
/_ノ ヽ、_\
ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒)
| / / / |r┬-| | (⌒)/ / / //
| :::::::::::(⌒) | | | / ゝ :::::::::::/
| ノ | | | \ / ) /
ヽ / `ー'´ ヽ / /
| | l||l 从人 l||l l||l 从人 l||l
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
0230デフォルトの名無しさん
2007/11/28(水) 01:02:44ミラバケッソ
0231あみぢ厨
2007/11/28(水) 01:10:28回転した長方形(極端に縦横比の大きいレーザーとか)
と、点(とりあえず自機中心座標でおk)の、当たり判定をやりたくなったけど、
一体何から調べればいいのかが分かりませんえんまんえんおくえん。
昔は単純な■判定を重ねていただけだったが、格好悪いし、縦横比がデカいとツラい。
座標の回転とか要るのかな?
敵
■
.■
■
■
.■
■
■
.■
■
bool unko(double mx,double my,double ex,double ey,
ang/*(敵発射角度rag)*/,double b /* レーザーの太さ */);
こんな少ない情報で何とかしてくれる関数が売ってたら5000円まで払うぜ。
0232デフォルトの名無しさん
2007/11/28(水) 19:32:13・点と直線の距離を求める式
・点と点の距離を求める式
を組み合わせる。
0233デフォルトの名無しさん
2007/11/28(水) 22:31:520234あみぢ厨
2007/11/29(木) 00:04:03頑張れそうです。
0235デフォルトの名無しさん
2007/11/29(木) 09:38:15レベル高すぎてついていけないぜ…。
半年後tに出直そう
0236デフォルトの名無しさん
2007/11/30(金) 23:31:260237デフォルトの名無しさん
2007/12/01(土) 13:40:41他の方もそんなかんじですか?
0238デフォルトの名無しさん
2007/12/02(日) 14:06:54KERNEL32.DLLのAllocConsoleで作成したコンソール画面を使用しているのですが、
右上のx(閉じる)ボタンを押すと、コンソール画面だけでなくプログラム本体も閉じてしまいます。
この際、本体で設定したonexitが実行されず、終了処理ができないでいます。
コンソール画面の閉じるボタンを本体の終了処理に連動させる方法はあるでしょうか?
0239デフォルトの名無しさん
2007/12/02(日) 15:55:31ginfo_sizex=300
ginfo_sizey=200
とやっても変わらないんですが
0240デフォルトの名無しさん
2007/12/02(日) 15:58:420242デフォルトの名無しさん
2007/12/02(日) 16:27:09文字列を足したときについでに最終行にスクロールさせたいんだけど
どうしたらいい?
0243242
2007/12/02(日) 17:46:24sendmsg で $B6 だった
0244デフォルトの名無しさん
2007/12/02(日) 18:14:53コンソールウィンドウのウィンドウプロシージャをカスタマイズ(サブクラス化?)
しなきゃいけないんじゃないの? あるいはコンソールウィンドウのスタイルを
変更してクローズボタンを無効化するとか。
できるかどうか知らんけど。
0245デフォルトの名無しさん
2007/12/02(日) 18:37:15レスありがとうございます。
サブクラス化の方がかっこいいですが、とりあえずスタイル送ってクローズ無効化してみます。
0246デフォルトの名無しさん
2007/12/03(月) 00:35:52以下のコードを実行するとどのように表示されますか?
buf = "すし\nてんぷら\nてっかどん"
notesel buf
notemax len
mes "" + len
noteadd "", 1, 1
notemax len
mes "" + len
mes buf
stop
0247デフォルトの名無しさん
2007/12/03(月) 02:05:193.0RC1
noteadd命令で空の文字列を上書きすると行が削除される不具合を修正。
0248デフォルトの名無しさん
2007/12/03(月) 14:32:580249デフォルトの名無しさん
2007/12/03(月) 14:44:35通るたびにmallocされたりするのでしょうか
0250デフォルトの名無しさん
2007/12/03(月) 16:08:46単体で動く実行ファイルを作ることは可能ですか?
普通にhspsock.dllなどを入れるだけでは駄目みたいですが
コツとかありますか?
0251デフォルトの名無しさん
2007/12/03(月) 16:14:590252デフォルトの名無しさん
2007/12/03(月) 17:22:470253デフォルトの名無しさん
2007/12/03(月) 17:53:550254デフォルトの名無しさん
2007/12/03(月) 19:04:410255デフォルトの名無しさん
2007/12/03(月) 22:50:55まにゅあるあるあるか
0256あみぢ厨
2007/12/03(月) 23:10:46昔は何度もあったが、今になって来るとはwwww
0257デフォルトの名無しさん
2007/12/04(火) 01:12:22最高に頭の悪い発言をしてくださいinム板(XII)
http://pc11.2ch.net/test/read.cgi/tech/1179394713/l50
0258デフォルトの名無しさん
2007/12/04(火) 03:11:37どうもありがとうございます。
noteadd 空文字列 でぐぐって 2.x の changelog 見て
変だなと思っていました。
2.61 は使い続けたいので、\n で上書きしてから
一行増えた分を notedel で削除することにしました。
0259デフォルトの名無しさん
2007/12/04(火) 22:47:04たとえば、背景に雲の画像を重ねて多重スクロールさせる様な処理とかですが。
0260デフォルトの名無しさん
2007/12/04(火) 22:48:04buffer 99,640,480:cls 4
r=0:g=0:b=0:i=0
for yy,0,16,1:for i,0,16,1:for g,0,255,16:for r,0,255,16
color r,g,b:line 200+(i*256+r)/16,100+(yy*256+g)/16,200+(i*256+r)/16+8,100+(yy*256+g)/16+8
next:next:b+=1:next:next
;picload"back01.jpg"
dim stardot,10:stardot(1) = 200
buffer 1,640,480:cls 4
color 255,255,255
for i,0,stardot(1),1:pset rnd(640),rnd(480):next
screen 0,640,480:cls 4
scroollx = 0
*mainrooll
redraw 0
gmode 0:pos 0,0:gcopy 99,0,0,640,480
gmode 2
pos scroollx,0:gcopy 1,0,0,640-scroollx,480
pos 0,0:gcopy 1,640-scroollx,0,scroollx,480
redraw 1
scroollx = scroollx+1:if scroollx>640:scroollx=0
*loopbreak
stick key,0:if key=16:end
wait 1:goto *mainrooll
0261デフォルトの名無しさん
2007/12/07(金) 22:03:03この""に入る部分に変数を指定したいんですけど、そういうことはできるんでしょうか?
クイズゲームで問題文と解答候補を別ファイルから読み込んで正答誤答をnotegetで変数に格納、
格納した解答候補の文字列をbuttonに印字、ということを考えているのですが…。
0262デフォルトの名無しさん
2007/12/07(金) 22:22:12つ objprm
0263デフォルトの名無しさん
2007/12/07(金) 22:41:58こんなコマンドがあったとは…
ありがとうございます 無事解決できました。
0264デフォルトの名無しさん
2007/12/08(土) 21:01:100265デフォルトの名無しさん
2007/12/08(土) 21:57:13便利なライブラリを紹介しなさい
0266デフォルトの名無しさん
2007/12/08(土) 23:17:34いつまでにですか?
0267デフォルトの名無しさん
2007/12/08(土) 23:33:24君とオレが恋に落ちるまでにさ…。
0268あみぢ厨
2007/12/08(土) 23:44:45ちなみにそんなライブラリ知りません
知らないならはつげんするなって?
すみません
0269デフォルトの名無しさん
2007/12/08(土) 23:57:330270デフォルトの名無しさん
2007/12/09(日) 00:30:37特定の領域だけフルカラーで、あとは非描画でメモリ節約したりする方法無いでしょうか。
0272デフォルトの名無しさん
2007/12/09(日) 13:33:07日本語でOK。
>非描画でメモリ節約
非描写っていっても読み込んだらメモリ使われるわけだから、
メモリ節約したいなら、ファイルに書き出しておくしかない。
0273デフォルトの名無しさん
2007/12/09(日) 15:34:31すまんこ。多ウィンドウの画像ビューワー作ってます。
回←これをウィンドウとすると、内側の四角内に画像がある感じです。
ウィンドウ可変・最大化のために、どんな画像でも
とりあえずデスクトップサイズでscreenサイズを確保して、中心に画像をputしてるので、
画像の無い部分がもったいないなと思ったのです。
0274デフォルトの名無しさん
2007/12/09(日) 16:00:28;パレットモードのウィンドウの中にフルカラーのウィンドウを配置
#include "user32.as"
screen 0,640,480
a=hwnd
repeat 10
hsvcolor cnt*19,255,255
boxf 0,cnt*48,640,cnt*48+47
loop
bgscr 2,320,240,2,160,120
repeat 10
hsvcolor cnt*19,255,255
boxf 0,cnt*24,320,cnt*24+23
loop
SetParent hwnd,a
gsel 2,1
こんな感じ?
0275274
2007/12/09(日) 16:02:03screen 0,640,480
↓
screen 0,640,480,1
0276デフォルトの名無しさん
2007/12/09(日) 18:06:51ありがとうございます。こんなAPIあるんですね。
ちゃんと親ウィンドウで切り抜かれるんで、使えそう。
メモリも3〜4M節約できてるみたいです。(1600x1200時)
画像を30〜40枚開くのが前提なので、実際は100M単位の節約ができそう。
あとは動きの無いウィンドウを定期的に検出して、
ウィンドウからはみ出して見えない画像をスワップアウトするとかしてちまちま稼ぐしか無いですかね。
# ちょっと試したところだと、スクロール(SetScrollPosとか)が使えないので、(親ウィンドウだけスクロールしてしまう)
# 独自のスクロール実装が必要そうです。
# 実際は2つのウィンドウなので、マウス操作全般のウィンドウプロシージャがちょっとややこしくなりそう。
# 1から作り直した方が早いかも・・・。
0277デフォルトの名無しさん
2007/12/09(日) 22:40:08これはwikiのHSP Bug Trackにも同じようなこと書いてあるけどHSP3の不具合だと思う。
HSP2で同様の事をしたらちゃんと動いたし。
0278デフォルトの名無しさん
2007/12/09(日) 22:54:54まじかー。次のリリースで直るといいけど・・・。
直るまでちょっと待ってみるか。
0279デフォルトの名無しさん
2007/12/10(月) 01:53:58スクロール量にあわせてSetWindowPosで動かすしかないかも。
あまり役に立たなくてすまん。
0280デフォルトの名無しさん
2007/12/12(水) 12:29:02テキストファイルに出力ってどうやればよいのでしょうか?
0281デフォルトの名無しさん
2007/12/12(水) 13:21:39どのソースファイルでコンパイル開始しても正常に動作する工夫とかできるかな?
いまはメインソースファイルからコンパイルしたスイッチが入ってないと他のソースファイルでは停止終了するように作ってるけど。
0282デフォルトの名無しさん
2007/12/12(水) 14:19:21Cygwinとか入れて、Makefile書いておけば?
0283デフォルトの名無しさん
2007/12/12(水) 15:18:26詳しく
0284デフォルトの名無しさん
2007/12/12(水) 20:19:36HSP3用のコマンドラインコンパイラを探す
0285デフォルトの名無しさん
2007/12/13(木) 10:52:59どのソース(ウィンドウ)から実行しても決まった名前のスクリプトをコンパイルする
仕様のコンパイラ(外部ツール)作れば?
0286デフォルトの名無しさん
2007/12/13(木) 13:00:29作らなくてももうあるだろ
0287デフォルトの名無しさん
2007/12/13(木) 17:48:56あるのなら教えてください。まじで。
0288デフォルトの名無しさん
2007/12/13(木) 20:23:16ググれ
0289デフォルトの名無しさん
2007/12/13(木) 23:07:330290デフォルトの名無しさん
2007/12/13(木) 23:31:39なんとなく思い出して見てみましたけど…
ぜんぜんかわってねぇなぁって思いました。
0291デフォルトの名無しさん
2007/12/13(木) 23:33:010292デフォルトの名無しさん
2007/12/13(木) 23:33:18スパマーが登録して広告をMLで長島来るって話をあまり聞かないのだが。
0293デフォルトの名無しさん
2007/12/14(金) 00:43:40MLの管理人がBANすればよいだけじゃない?
0294デフォルトの名無しさん
2007/12/14(金) 05:46:26#defineと#ifndefで工夫する
0295デフォルトの名無しさん
2007/12/14(金) 19:18:010296デフォルトの名無しさん
2007/12/14(金) 19:19:45head.hsp:(
#ifndef head
#define head 1
...
#include "main.hsp"
#endif
)
main.hsp:(
#ifndef main
#define main 1
#include "head.hsp"
...
#endif
)
ってパッと思いついたけど通らないのかな
0297デフォルトの名無しさん
2007/12/14(金) 21:00:01よくわからんけどいつか試す
0298デフォルトの名無しさん
2007/12/14(金) 22:08:46どのファイルからでもコンパイルできるようにするとしたら、そのためだけ
のコード書くのめんどいな。
(main.hsp)
#define _main_
#ifndef _sub_
#include "sub.hsp"
#endif
mes "main"
submes
(sub.hsp)
#define _sub_
#module
#deffunc submes
mes "sub"
return
#global
#ifndef _main_
#include "main.hsp"
#endif
0299デフォルトの名無しさん
2007/12/15(土) 01:58:16color 255,255,255:boxf 0,0,640,480
dim movex,3:dim movey,3
ballmovex = 0:ballmovey = 0
movex(1) = 1:movex(2) = -1
movey(1) = 1:movey(2) = -1
mx = 1:my = 1
screen 0,640,480:cls 4
*main
redraw 0
color 0,0,0:boxf 0,0,640,480
ballmovex = ballmovex + movex(mx)
if ballmovex > 602:mx = 2
if ballmovex < 0:mx = 1
ballmovey = ballmovey + movey(my)
if ballmovey > 448:my = 2
if ballmovey < 0:my = 1
pos ballmovex,ballmovey:gcopy 2,0,0,32,32
redraw 1
color 255,255,255
pos 0,120:mes "x"+ballmovex
pos 0,136:mes "y"+ballmovey
stick key,15
if key=16:end
await 5
goto *main
これって、もっと高速に跳ね回るように出来ないのでしょうか?
0300デフォルトの名無しさん
2007/12/15(土) 10:08:15とか
0301デフォルトの名無しさん
2007/12/19(水) 14:29:41strlenで文字列長取得すると 32767文字くらいまでしか返ってこない
shortじゃなくてlongで返してほしいんだけど、どうしたらいい?
つーか、HSPってlong型とかあんの?
0302デフォルトの名無しさん
2007/12/19(水) 17:55:450303デフォルトの名無しさん
2007/12/19(水) 18:09:340304デフォルトの名無しさん
2007/12/19(水) 20:16:12s=""
repeat 3276
s+="とかとかとかとかとかとかとかとかとかとか"
loop
mes strlen(s)
0305デフォルトの名無しさん
2007/12/19(水) 20:49:44つーかshort型がないだろ。
あるのは32Bit整数と倍精度浮動小数と文字列型だけだろ。
0306301
2007/12/19(水) 22:16:260307デフォルトの名無しさん
2007/12/19(水) 23:06:020308デフォルトの名無しさん
2007/12/20(木) 09:28:58font "Terminal",10,0
mes "あいうえお"
とやっても10ポイントの文字にならない
なぜだよ
0309デフォルトの名無しさん
2007/12/20(木) 20:32:47mx=mousex ; マウスのX座標
my=mousey ; マウスのY座標
if key&256{
if (mx>200)&(mx<(200+bx))&(my>100)&(my<(100+by)) : break ; ボタン上でクリックしたらループ抜ける
}
これの&についてなんだけど、何で=じゃなくて&なの?
演算子&についての詳しい説明がほしいんだけど、見つからないし。
=と同義で使えるというわけでもないし、かといってこれを=に置き換えても挙動は同じ。
ifの後における等号や不等号と合わせて且つの意味で使うだけでない、どういう意味があるの?
0310デフォルトの名無しさん
2007/12/20(木) 21:27:05論理式が正なら1だからだろ
つーかそもそも文脈上どう考えてもequal条件じゃなくてand条件だろ
なにより他言語での文法との混同を避ける意味で
&じゃなくandって書くべきだろ
0311デフォルトの名無しさん
2007/12/20(木) 21:30:040312デフォルトの名無しさん
2007/12/20(木) 21:33:280313デフォルトの名無しさん
2007/12/20(木) 21:50:400314デフォルトの名無しさん
2007/12/20(木) 23:14:030315デフォルトの名無しさん
2007/12/21(金) 10:52:50そのand条件とやらについて知りたいってのが最後の文章そのものなんだけど・・・
if a=10&B=10とかなら意味としてわかるけど。
if 10&10では主語の部分がなくてよくわからん。変数&数字、の場合だけなんか意味をなすとか?
前者に後者が含まれるという意味だ、と解説してるサイトもあったけど。
マニュアルにはこのへん載ってないし(等号不等号とあわせてしか)、どこ見てもstickには説明なくナチュラルに&使われてるし。
意味伝わるかなぁ・・・
0316デフォルトの名無しさん
2007/12/21(金) 14:56:36論理積 と ナンシー関 って似てると思わないか?
みんなよく間違えるからWikipediaで違いを確認するといいよ
0317デフォルトの名無しさん
2007/12/21(金) 18:35:500318デフォルトの名無しさん
2007/12/21(金) 19:39:07HSPは「&&」なんて使えたか?
0319デフォルトの名無しさん
2007/12/21(金) 22:37:09if (value){
〜〜
}
はvalueが0でないときに〜〜が実行される。0のときは実行されない。
if (key=512){
〜〜
}
はkeyが512に等しいときに〜〜が実行される。512でないときは実行されない。
((key=512)はkeyが512に等しいなら1、等しくないなら0になる。)
if (key&512){
〜〜
}
は(key&512)が0でないときに〜〜が実行される。(key&512)が0のときは実行されない。
2番目と3番目はkey = 512 + 256のときとかに違いが出る。
stickならボタン同時押しとかな。
&の意味については「&演算子」でググれ。CでもJAVAでも意味は同じだ。
0320test
2007/12/21(金) 23:46:110321デフォルトの名無しさん
2007/12/22(土) 07:42:49>>2番目と3番目はkey = 512 + 256のときとかに違いが出る。
ここで512と256が2の倍数だというところがミソ。
512 = 0b1000000000
256 = 0b0100000000
ここで0b〜は2進数表記という意味。
(512+256)&256は256だけど、(11+1)&1は1じゃないので注意。
0322デフォルトの名無しさん
2007/12/22(土) 16:21:032の倍数じゃなくて2の乗数または2の冪
0323321
2007/12/22(土) 16:35:310324デフォルトの名無しさん
2007/12/22(土) 18:08:38どんま〜い!
3 ・ 2 ・ 1! 3 ・ 2 ・ 1!
0325デフォルトの名無しさん
2007/12/22(土) 18:55:435時4分を「5時04分に」表示させるのは、文字列型での表示の仕方は「strf」を使えばいいのですが
数値型にして表示するのが分かりません。
教えてください。お願いします
0326デフォルトの名無しさん
2007/12/22(土) 19:30:33?????????????????????????????????????
?????????????????????????????????????
?????????????????????????????????????
?????????????????????????????????????
?????????????????????????????????????
0327デフォルトの名無しさん
2007/12/22(土) 20:12:25モザイクがかかっていくとか、下から次の画面の背景がでてくるとか、そういう表現あるかな?
clsで消して再描写ってだけじゃなんか味気なくて。
0328デフォルトの名無しさん
2007/12/22(土) 20:31:07何言ってんだ?お前。
0329デフォルトの名無しさん
2007/12/22(土) 20:58:32gmode gcopy gzoom だけでも、かなりのパターンを作り出せるぞ。
とはいえ、cls を多用してるようじゃ辛いかもな。
0330デフォルトの名無しさん
2007/12/22(土) 22:18:170331デフォルトの名無しさん
2007/12/23(日) 19:17:320332デフォルトの名無しさん
2007/12/23(日) 20:13:46現在のレートは 1フヒィ=113.4サーセン です。
0333デフォルトの名無しさん
2007/12/23(日) 20:15:330334デフォルトの名無しさん
2007/12/23(日) 23:13:130335デフォルトの名無しさん
2007/12/24(月) 18:05:35あーそのへんを使ってやらないと駄目なのかぁ。
ノベル向けってわけじゃないからそんな専用の命令なくて当然か。さんくすー
0336デフォルトの名無しさん
2007/12/25(火) 07:58:110337デフォルトの名無しさん
2007/12/25(火) 23:28:530338デフォルトの名無しさん
2007/12/26(水) 11:31:25ソースコードが計20万行越えてて吹いた
0339デフォルトの名無しさん
2007/12/26(水) 13:45:54そりゃ随分と重そうだなw
そういや、HSP3の逆コンパイラってあるのか?
0340デフォルトの名無しさん
2007/12/26(水) 14:41:440341デフォルトの名無しさん
2007/12/27(木) 00:23:190342デフォルトの名無しさん
2007/12/28(金) 05:46:15グローバル空間からoncmdでモジュール内のラベルを直接的に呼び出すにはどうすればいいのでしょうか
0343デフォルトの名無しさん
2007/12/28(金) 09:54:490344342
2007/12/28(金) 18:53:27gosub hoge@モジュール名でモジュール内を呼び出せるようです。
なのにgosub label@hspという方法ではモジュール内からグローバルのラベルに飛べないのは何故なんでしょう
0345デフォルトの名無しさん
2007/12/28(金) 20:37:26マクロ宣言時に変数を展開する方法があれば#constや#defineでもいいのですが
0346デフォルトの名無しさん
2007/12/28(金) 23:44:53無いかも
0347デフォルトの名無しさん
2007/12/29(土) 00:09:03gosub label@ で飛べない?
0348デフォルトの名無しさん
2007/12/29(土) 02:31:13ありがとうございます、できました
@hspはプリプロセッサ命令を扱う時に用いるんでした
統一するか併用してくれればいいのに
0349デフォルトの名無しさん
2007/12/29(土) 23:49:150350デフォルトの名無しさん
2007/12/30(日) 01:46:05pos 20,20:mes zyukugo.rnd(15)
pos 20,55:mes zyukugo.rnd(15)
pos 20,90:mes zyukugo.rnd(15)
pos 20,125:mes zyukugo.rnd(15)
pos 20,160:mes zyukugo.rnd(15)
pos 20,195:mes zyukugo.rnd(15)
この6行のうち1行をランダムに選択、その選択した行のrnd命令が結果として選んだ数値を取得する
なんて事できないかな?
ランダムに15種の熟語のうち6つが表示されて、そのうち1つの回答を示すようなゲームみたいなの
つくってるんだけども・・・これができないとやたら長くなっちゃう。
0351デフォルトの名無しさん
2007/12/30(日) 01:59:02何がしたいのか、何が言いたいのかよく分からないが
データベース中に、15のデータが格納されていて、
その中から6つをランダムで取り出すのを目的とした場合、
その記述のままだと、同じデータが重複されて取り出されるときがある。
場合によっては、6つとも同じデータが取り出されてしまう可能性も存在する。
0352デフォルトの名無しさん
2007/12/30(日) 03:07:29tmp = rnd(15-CNT)
hyouji.CNT = zyukugo.tmp
swap zyukugo.tmp,zyukugo.15-CNT ;swapは#defineしておく
pos 20,30*CNT+20 : mes hyouji.CNT
loop
このあとhyoujiからランダムで一個選べばいいんだけど
元配列を並び替えてるのと、元配列の何番目か判らないのは問題かな?
必要条件が確定してないから
0353デフォルトの名無しさん
2007/12/30(日) 03:19:16適当に作ってみた
randomize
sdim zyukugo,4,15
dim table,6
zyukugo="1","2","3","4","5","6","7","8","9","10","11","12","13","14","15"
a=1
repeat 6
table(cnt)=rnd(15) ;乱数を記録しておく
loop
input a,32,,1
pos 32,0:mes "行目を or"
pos 80,0:button gosub "選ぶ",*erabu
pos 200,0:button gosub "ランダム選択",*random
gosub *erabu
stop
*random
a=rnd(6)+1
*erabu
if (a<1)or(a>6):dialog "1〜6行目を選択しやがれこのウジ虫めが!":return
color 255,255,255:boxf 0,40,640,480
repeat 6
if cnt=(a-1){
color ,,128:boxf 0,40+35*cnt,640,58+35*cnt
color 255,255,255
}else:color
pos 20,40+35*cnt:mes zyukugo(table(cnt))
loop
color:pos 20,300:mes "選んだ行:"+a+"\n数値"+zyukugo(table(a-1))
return
0354350
2007/12/30(日) 14:21:58あーその通りだわ・・・指摘されるまで気づかなかった\(^o^)/
英熟語が6つ表示されて日本語が一つ表示される。その日本語に合致するのは6つのうち
どーれだ、って話。
その為には日本語の選択をランダムに選ばれた6つの英熟語のどれかに準拠しないと
どれもハズレって事になっちゃう、って意味だったんだけど。
>>352
わざわざありがたや。
4行目を理解するのに数十分かかったぜ・・・。351の指摘の内容を修正できてるって事よね?
でもそれでも解答をどう出すかがわからない。
さて、>>353の理解に着手しよう・・・どれだけ時間かかるやら怖いけど。
0355350
2007/12/30(日) 14:57:12ありがとう。とりあえず理解でけた・・・ふぅ。でもこれ、351指摘の問題でちゃうね。
それに根本的に何やら違う事に。長文の質問はウザいかと思ったけど
わざわざ作って答えてくれる人の事を考えるともっとちゃんと説明すべきだったか。
やりたいコト:
基本的に上記354の通り。さらに細かく言うと
6つの英熟語はボタンを模した画像の上に表示、擬似ボタンにして、それぞれ正解をクリック
すれば正解の処理に、間違いの5つのどれかをクリックすれば不正解の処理に移行。
という構想で・・・とりあえず日本語の方を表示する段階になって、選ばれた6つの英熟語の中から
さらにランダムでどれかを選んで、それに対応したのを表示できないかな、って。
それで>>350のような内容に。
でもどっちみち表示だけを考えてちゃ正解かどうかの処理ができないのか・・・?('A`)
けど熟語は最終的に膨大な数になるから一つずつ問題をつくるとものすごく長くなっちゃうし、と・・・
0356デフォルトの名無しさん
2007/12/30(日) 16:04:18表示とかは最後にして処理の流れを紙に書き出して見ると良いと思う。
今回は必要なデータがはっきりしてるから、データさえ用意できれば作りやすいはず。
重複しない乱数は下記参照。
ttp://hspdev-wiki.net/?cmd=read&page=%BD%E4%B2%F3%CD%F0%BF%F4
0357353
2007/12/30(日) 22:13:44言いたいことは大体分かった。また適当に作って書こうと思ったらなんか面白くなってきて作りこんでしまった。正直、自己満足の領域。
選択の部分は擬似ボタンではないけど重要部分は大体書いてある。
問題の選出とかは他にもいろいろあるので自分の好きなやり方で。
randomize gettime(7)
sdim mondai,16,6
sdim zyukugo,16,6
mondaimax=6 ;問題の数
kaitou=4 ;回答の数
mondai="山","川","海","空","森","湖"
zyukugo="mountain","river","sea","sky","forest","lake"
;このとき、mondai.numの問題に対してzyukugo.numの解答が正しい
num=rnd(3) ;問題の種類を決める
mes mondai.num+"は英語で?\n"
;回答群(3種)を作製する。このときあえて回答群に正しい解答を含まないようにする。
;問題が重複しないように乱数を作る
dim list,mondaimax-1
repeat mondaimax-1 ;問題番号を抜いた0から順に1ずつ増加させた配列を問題数-1個作る(たとえば問題2なら0,1,3,4,5の配列)
if cnt>=num:list.cnt=cnt+1:else:list.cnt=cnt
loop
repeat 10 ;ループの回数だけ配列をシャッフルする
a=rnd(mondaimax-1)
b=rnd(mondaimax-1)
c=list.a
list.a=list.b
list.b=c
loop
0358353
2007/12/30(日) 22:14:25;あとは回答の数だけ回答を表示して正しい解答を選択させる
repeat
erabu=-1
redraw 0
color 255,255,255:boxf 0,40,640,480
repeat kaitou ;回答の数だけ回答を表示
pos 20,40+cnt*18
;回答の上にカーソルがある場合色をかえて表示。そのときの回答番号も記録しておく
if ((mousey-40)/18)=cnt:color ,,128:boxf 0,40+18*cnt,640,58+18*cnt:color 255,255,255:erabu=cnt:else:color
mes zyukugo(list(cnt))
loop
if erabu>=0{
pos 20,180:color
if list(erabu)=num:mes"正解":else:mes"不正解";回答番号から回答の種類を参照して照合
}
wait 1
redraw 1
loop
0359353
2007/12/30(日) 22:17:590360デフォルトの名無しさん
2007/12/31(月) 22:22:28キーボードのボタンを押すと音が出るというプログラムをつくろうとするとボタンを押して離した後に音が鳴ってしまいます。私としてはボタンを押した瞬間に音を鳴らしたいのですが、どうすればいいでしょうか。
0362350
2008/01/01(火) 05:44:19>>357
うおーありがたや。めちゃ参考になった。思ったとおりのができたよ。
理解できない部分が若干残ってるけど・・・今後のレベルアップに期待して
今は深く考えすぎないようにする。ほんと助かった、ありがとん。
しかし元旦から何をやってるんだ俺は\(^o^)/
0364デフォルトの名無しさん
2008/01/01(火) 09:56:290365デフォルトの名無しさん
2008/01/01(火) 13:03:49キャラのサイズが移動はビット単位の当たり判定がしたいんだけど
どう考えりゃいいの?
0366デフォルトの名無しさん
2008/01/01(火) 13:04:23キャラサイズ32*32で移動がビット単位
0367デフォルトの名無しさん
2008/01/01(火) 14:12:510368デフォルトの名無しさん
2008/01/01(火) 19:27:21こういう条件式を書いたとき、片方の条件式)(c=3)&(c=4)が成立している時は、mes命令が実行されるのですが
(a=1)&(b=2)が実行されても,mes命令が実行されません。
どうしたらよいのでしょうか?
0369デフォルトの名無しさん
2008/01/01(火) 20:37:070370デフォルトの名無しさん
2008/01/01(火) 20:38:37b = 2
if (a=1)&(b=2)| (c=3)&(c=4) :mes "HSP"
if (a=1)&(b=2)|((c=3)&(c=4)):mes "HSP"
0371デフォルトの名無しさん
2008/01/01(火) 21:27:570372デフォルトの名無しさん
2008/01/01(火) 21:38:37int main()
{
int a = 1, b = 2, c = 0;
if(a == 1 && b == 2 || c == 3 && c == 4) printf("HSP");
return 0;
}
HSP始まったな
0373デフォルトの名無しさん
2008/01/02(水) 20:02:02ようにってできる?
0374デフォルトの名無しさん
2008/01/02(水) 20:55:452 アプリ内で設定できるようにする
3 特定のファイル名のファイルを使う
0375デフォルトの名無しさん
2008/01/03(木) 10:41:07他の項目を更新するようにしたいんですが、
repeat 〜 loopで監視するしかないんですかね?
ボタンやメニューを表示し終わったらstopで終わりたい気がするんですが
最後にrepeatを設置するのは落ち着かない感じがしません?
0376デフォルトの名無しさん
2008/01/03(木) 19:49:12Let's HSP!「HSP3 あれこれ <オブジェクト編 5>」
ttp://lhsp.s206.xrea.com/hsp_object5.html#5
0377デフォルトの名無しさん
2008/01/03(木) 23:01:46コンボボックスとウィンドウメッセージが関連してることを知らなかったので
マニュアルの割り込みの項や、リファレンスでは全然解説されてないから
これはわかりっこないですな
0378デフォルトの名無しさん
2008/01/04(金) 03:45:01を選んで表示されるウィンドウに、角が丸まった四角形に青文字が添えられてる
囲み部分があるじゃないですか。
頻繁に使われてるので、あれってまとめて描画できるような命令があるんでしょうか。
ググってみると単体の角丸四角形は一つの命令では表示できないみたいですが。
0379デフォルトの名無しさん
2008/01/04(金) 03:48:230380デフォルトの名無しさん
2008/01/04(金) 04:31:52グループボックスって名前みたいですね。名前に行き着くまでどれだけ時間がかかったか…。
ボタンをsendmsgで変化させたりするようですが、HSPでは不完全らしい?
ttp://lhsp.s206.xrea.com/hsp_object1.html#5
0381デフォルトの名無しさん
2008/01/04(金) 07:33:08そんなあなたに開発wiki
ttp://hspdev-wiki.net/?HSP%B9%D6%BA%C2%2F%A5%A6%A5%A3%A5%F3%A5%C9%A5%A6%B3%C6%C9%F4%A4%CE%CC%BE%BE%CE
表示バグが気にならないなら付属サンプルを流用すれば充分かと思う。
配布しないならOS互換性とか気にしないでいいだろうし。
気になるならそのページのモジュールを使う。
0382デフォルトの名無しさん
2008/01/04(金) 11:17:580383デフォルトの名無しさん
2008/01/04(金) 18:29:08うほっいい教材
HSPのサンプルやそのページのchkboxを利用した例は
最小化→復元で背景が透けてしまうんで使えませんね。
圧縮ファイル内のモジュールを流用することにしました。
0384デフォルトの名無しさん
2008/01/04(金) 23:50:40もうちょい詳しく教えてもらえんですか。
アプリにする=exeファイル一つになる、って考えてる時点で駄目?
画像は画像として独立して存在してるなら、そこの画像を勝手に入れ替えて
もらえばそれでいけるであろう事はわかるんだけど。。。
0385デフォルトの名無しさん
2008/01/05(土) 00:07:33exeファイルと同じフォルダの画像が読み込まれるだろう?
0386デフォルトの名無しさん
2008/01/05(土) 11:02:43おーほんとだ。パックしたファイルよりフォルダにおいた画像とかが優先されるのね。
じゃー同梱のreadmeに画像差し替えたきゃ●●って名前の●●×●●サイズの画像
をフォルダにいれてちょ、でいいんだなぁ。センクスー
しかしその画像をexeと同じフォルダにいれとかないと、
ちゃんとパックしたはずの画像を表示する段階でエラーが発生するのは何でだろう・・・
0387デフォルトの名無しさん
2008/01/05(土) 17:31:230388デフォルトの名無しさん
2008/01/05(土) 20:54:19さすがに半角ローマ字しか使ってないけど、長いっちゃ長いかも・・・。10文字。(拡張子含まず
10文字のがなんとか大丈夫になったと思ったら15文字のでもうどうしようもなく。
ためしに短くしてみたら大丈夫になった、ありがとん!
具体的に何文字まで、とか決まってないのかな?環境や状況依存で変わるなら
無理矢理にでも全部やたら短い名前にしないと駄目って事になるよね・・・
0389デフォルトの名無しさん
2008/01/05(土) 21:58:34たしか拡張子無しで8文字だったかな?
ファイル名収納用のヘッダがそのぐらいまでしか確保されていない
0390389
2008/01/05(土) 22:09:09拡張子込み(ドットも)で15文字だ
16文字分入ることは入るけど内部では認識できないみたい
たぶん、16文字分読んで最後にNULL文字詰めてるのかも?
0391389
2008/01/05(土) 22:24:51「PACKFILEと暗号化」の項に
> ファイル名は、拡張子も含めて19文字までが識別対象になります
と書いてあるが15文字までしか認識できない
0392デフォルトの名無しさん
2008/01/05(土) 23:50:39psetで絵を描いてそれを落ちるようにしたいんだけど
0393訳
2008/01/05(土) 23:53:00ソレを自力ということにすっから
0394デフォルトの名無しさん
2008/01/05(土) 23:58:46詳しくありがとう。ファイル名収納用って事はやはり画像以外もか。
とりあえず全部11字以内に収まるようにするよー
0395394
2008/01/06(日) 00:52:51話は変わって、
>>386の>パックしたファイルよりフォルダにおいた画像とかが優先されるのね
に誰もつっこんでくれなかったけど、これは文字数との兼ね合いで結果としてこうなっただけで
パックファイルの中身が優先されちゃうじゃないか(´・ω・`)
これだと画像はパックせずにバラで配布せんと差し替えできないという事に・・・。
アプリ内での設定となると、
1:パック内よりフォルダ内を優先して読み込めーって命令とか
2:アプリ内でのコンフィグ的操作から、スクリプトを書き換える命令で
●●.jpgの部分を▲▲.jpgに書き換えつつ「▲▲.jpg」ってファイルをフォルダにおいてね、と注釈いれる
とか・・・そんな命令、もしくは他の方法はあるですかいな
0396デフォルトの名無しさん
2008/01/06(日) 03:56:130397デフォルトの名無しさん
2008/01/06(日) 05:15:37前の行から続けて書くための記述方法ってあります?
0398デフォルトの名無しさん
2008/01/06(日) 09:32:31> もしや変数名やラベル名にも文字数制限あったりするのかな?なんか不安になってきた。
あるよ。
変数・ユーザ定義命令・ラベル:59バイト
マクロ:20バイト
モジュール名:18バイト
1、2バイトの余裕はあるみたいだけど、マニュアルにはこう書いてある。
> 話は変わって、
> >>386の>パックしたファイルよりフォルダにおいた画像とかが優先されるのね
> に誰もつっこんでくれなかったけど、これは文字数との兼ね合いで結果としてこうなっただけで
> パックファイルの中身が優先されちゃうじゃないか(´・ω・`)
> これだと画像はパックせずにバラで配布せんと差し替えできないという事に・・・。
確かにパックするファイル名の文字数が適正であればパックしたファイル優先になるね。
対処法としては、通常のフルパスで参照すればパックしたファイルは対象にならないようだから、
フルパス(起動ディレクトリのパス+ファイル名など)のファイルが存在しなければファイル名のみ
で読み込むとかするのはどう?
起動ディレクトリのパスはdir_curに入ってる(起動時に変更されてなければ)。実行ファイルでの
実行時ならdir_exeでもOK。スクリプトからの実行時はdir_exeにはhsp3.exeなどのパスが入る。
0399398
2008/01/06(日) 09:36:02> スクリプトからの実行時はdir_exeにはhsp3.exeなどのパスが入る。
hsp3.exeがあるフォルダのパスってことね。連投すまん。
0400394
2008/01/06(日) 20:27:16俺の知識では、この場合にレジストリだとかiniだとかいう言葉が具体的に何を指して
どう書く事で、どういう意味があるのかが全部わからんとですよ(´・ω・`)
>>398
>対処法としては、通常のフルパスで参照すればパックしたファイルは対象にならないようだから
ここの解釈が微妙だったんで試してみたんだけども、あくまで「対象」であって「優先」じゃないよね?
これが「優先」ならこれで良かったんだけど、フルパスで指定すると
指定された場所に指定の名前の画像がないとエラー。
ここでまた問題が発生・・・実行ファイルにしてからだと、dir_curでもdir_exeでもどっちでも
ちゃんとフォルダに指定の名前の画像ファイルを置いておいてもエラー。
エディタからF5で実行すると全く同じスクリプトでエラーなく動くのに。意味がわかんねぇ・・・
それと、上記の通り、フルパスでも別に「優先」でないのなら、別にフルパスでなくても
違う名前で指定しておいて(ex:A1.jpgとA2.jpg)、A1を読み込んで、ファイルが存在しなければ
A2(こちらだけパックしておく)でいいような・・・?
さらに、これの場合もフルパスの場合も、「ファイルが存在しなければ」の部分をエラー出さずに
ちゃんと判定させる手段が思い浮かばない・・・
疑問ばっかで長々とすんまそ・・・
0401394
2008/01/06(日) 21:00:33全然関係ないところだった。連投でつまらんことですんません
0402デフォルトの名無しさん
2008/01/06(日) 22:12:430403デフォルトの名無しさん
2008/01/06(日) 23:29:080404デフォルトの名無しさん
2008/01/06(日) 23:55:530405デフォルトの名無しさん
2008/01/07(月) 00:02:090406デフォルトの名無しさん
2008/01/07(月) 22:23:44キーコンフィグを作ったのですが、セーブやロードがうまく行きません。
sdimやdupも使ってみましたが、
セーブデータを見る限り、変数の消費より少ないという、より酷い状況に陥ったようで……
どういうセーブ方法が正しいやり方なのでしょうか。
0407デフォルトの名無しさん
2008/01/07(月) 22:45:25ロードした後にdim使っちゃいけませんよねアヒャヒャ……
自己解決ぅorz
0408デフォルトの名無しさん
2008/01/07(月) 23:08:130409デフォルトの名無しさん
2008/01/07(月) 23:14:360410デフォルトの名無しさん
2008/01/08(火) 00:03:24(エディタで水色にならず、実行したらエラー)
dllは本体と同じとこにあるし、asはスクリプトと同じフォルダ、#includeもある。
これ以上何をどうすればいいのか、マニュアルにのってないよ(´・ω・`)
0412デフォルトの名無しさん
2008/01/08(火) 03:58:41#include "hspda.as"
a="hoge"
vload a
普通はこれだけでもエラーはでないんだがなあ
0413デフォルトの名無しさん
2008/01/08(火) 11:09:20どんなのをみなさんは作ってるのかと思い適当に
クリックしたらウィンドウじゃなく全画面表示になって
終了さそうにもEscは効かねーわその他のキーも
効かねーわでタスクマネージャーで無理矢理
終了させた。
それにしても、どっか良い講座サイトないかね〜
最初、型は?初期化は?ってとまどった。
0414410
2008/01/08(火) 11:15:56どこもいじってないのに(;消しただけ)今日はいけたよ・・・なんだったんだろ。
しかしこれ、エディタで水色にならんのは仕様って事でいいのかな?
0415410
2008/01/08(火) 11:19:52超絶初心者の俺は
ttp://www.rinku.zaq.ne.jp/ultimate/index.htm
ここをたまに使う。逆引き辞書が便利。でも、1からとりあえず〜ってのにはオススメしない。
最初講座から入ると自分は飽きちゃいそうで・・・HSP本体添付のだけはちゃんと読んだけど。
0416デフォルトの名無しさん
2008/01/08(火) 12:43:33ありがとう!!
少しだけページ見てみました。
一応自分はC言語の知識はあってwin32apiを猫程度かじってて
C++,JAVAを初心者レベルで知識はあってC#をほんの少し
さわったレベルのプログラミングの経験がある野郎です。
ですので講座をちゃっちゃと流し読みしてTipsを読み終えたら
HSP付属のHELPむさぼることにしますわ
0417デフォルトの名無しさん
2008/01/09(水) 01:40:11出てきたらファイル名をHSPから送りたいんですが
aplkeyとかaplkeyd+aplkeyuとかでも反応ないんですが
どうすればいいですか?
0418417
2008/01/09(水) 02:52:28スレ汚しすいませんでした。
0419デフォルトの名無しさん
2008/01/09(水) 08:49:090420デフォルトの名無しさん
2008/01/09(水) 23:13:140421デフォルトの名無しさん
2008/01/10(木) 09:37:36exeとかreadmeとか同じフォルダにいれておけばOK?
exeにした後、自分のPCでも問題なく動くのは、HSPの本体と同じフォルダにdllがあるからで
配布する場合はプラグインも添付しとかないと駄目・・・だよね?
0422デフォルトの名無しさん
2008/01/10(木) 18:05:33> exeにした後、自分のPCでも問題なく動くのは、HSPの本体と同じフォルダにdllがあるからで
exeと同じフォルダ(かシステムフォルダ)にないと動かないはずだが。
> 配布する場合はプラグインも添付しとかないと駄目・・・だよね?
Yes。
0423通販さん@賛成です
2008/01/11(金) 01:33:340424デフォルトの名無しさん
2008/01/11(金) 05:37:16DLLの再配布条件をDLLのReadmeで確認しとくことをお薦めするよ。
0425デフォルトの名無しさん
2008/01/14(月) 11:43:51>>424
遅くなったけどありがとう。
0426デフォルトの名無しさん
2008/01/14(月) 16:33:15ftp待機状態ってなんだこりゃ。
HSPでオンライン通信なんて考えない方がいいんでしょうか。
教えて偉い人。
0427デフォルトの名無しさん
2008/01/14(月) 18:02:15エラー起きる元だよね?
なんでbreakと変数代入とか、エラーの起きない方法で示さないんだろう?
暗黙の了解で、手法を示す時はgoto使うけど、このスクリプト
使うならちゃんと自分でエラー起きないように書き換えろよ!みたいなのが
あるのかな?
0428デフォルトの名無しさん
2008/01/14(月) 18:37:42breakは嫌い
ループ構文によって使えたり使えなかったりでうっとおしいから
ていうかHSPの各種ループ命令の統一感の無さは異常
0429デフォルトの名無しさん
2008/01/14(月) 20:08:47>よくrepeatloopの間にgoto挟んであるのを見るけど
俺は見たことないよ
0430デフォルトの名無しさん
2008/01/15(火) 00:46:43HSPではやっちゃいけないのは知ってるがついやっちゃうなあ
0431デフォルトの名無しさん
2008/01/15(火) 14:27:31breakよりオススメの方法を教えてほすぃ
>>429
そう言われて初めて気づいた。どこかで見たか何かでそれが普通だと
俺が思い込んでただけで、よく見るって程溢れてはないっぽいね・・・
>>430
やっちゃってたZE
0432デフォルトの名無しさん
2008/01/15(火) 19:10:43wav形式は正常に鳴るんですが、プラグインを入れないと再生できないのでしょうか?
0433デフォルトの名無しさん
2008/01/15(火) 21:14:510434デフォルトの名無しさん
2008/01/15(火) 23:48:290435デフォルトの名無しさん
2008/01/16(水) 05:44:58パッドを三つほど繋いで使いたいのですが、
良い方法はありませんかね。
二つ使えるDLLならよくあります。
三人目はキーボードやマウスを使えます。
しかし四人目となると、どうにも……
0436デフォルトの名無しさん
2008/01/16(水) 12:49:44例えばHPを999より高くならないようにする、みたいな。
0437デフォルトの名無しさん
2008/01/16(水) 13:23:04#module ;HPの上限規定
#deffunc hplimit int char_no
#const CHARHP 1
#const HPMIN 0
#const HPMAX 999
status(char_no,CHARHP)=limit(status(char_no,CHARHP),HPMIN,HPMAX)
return
#global
もちろん、このままじゃ動作しない。
0438デフォルトの名無しさん
2008/01/16(水) 15:40:310439デフォルトの名無しさん
2008/01/17(木) 01:16:58H2_STICKなら複数認識された希ガス
0440デフォルトの名無しさん
2008/01/17(木) 19:12:12みんな、興味ないん??
0441デフォルトの名無しさん
2008/01/17(木) 21:40:100442デフォルトの名無しさん
2008/01/18(金) 00:38:17構文ががらっと変わらない限り興味は無い
0443デフォルトの名無しさん
2008/01/18(金) 00:44:350444デフォルトの名無しさん
2008/01/18(金) 03:57:08簡便で実用的なツールであれば問題ない
仮にC++のような複雑怪奇な実装になっていれば、
今作ってるのが完成した時点でDに移るよ
0445デフォルトの名無しさん
2008/01/18(金) 11:09:16HSP3.1のscrenn命令で作成したウィンドウにスクロールバーを出させるには、どうしたら良いのでしょうか?
秀和システムから出版されている入門書のコマンド一覧には「クライアントサイズが初期化サイズよりも
小さい場合にはスクロールバーが付加されます」とあるのですが、うまく出来ませんでした。 具体的には、
screen 1,800,800,,,,300,300
repeat
mes cnt
if cnt=100 : goto *step2
loop
*step2
stop
とした時にスクロールバーが出現せず、ウィンドウサイズを超えた表示内容を見ることが出来ません。
0446デフォルトの名無しさん
2008/01/18(金) 11:10:510447デフォルトの名無しさん
2008/01/18(金) 18:51:42おまいだろ?コレ→>>445
釣られんからな!w
0448デフォルトの名無しさん
2008/01/18(金) 22:31:19私は>>427氏ではありませんが、ループの中にgotoを入れるのはスマートではないのですね。
すぐ前の書き込みなのに見逃していて恥ずかしい限りですが、勉強になりました。
できましたら、スクロールバーについても是非教えて下さい。。
0449デフォルトの名無しさん
2008/01/19(土) 14:05:210450デフォルトの名無しさん
2008/01/20(日) 22:32:54マクロのforとかwhileとか使えばいいじゃん。
あれならgoto使おうが全く問題ないし。
0451デフォルトの名無しさん
2008/01/21(月) 16:56:39起点をposで定めて普通にmesで表示すると、文字数が多い場合ウインドウから
はみ出たり、最悪右端は表示されない。
自動折り返し用の命令みたいなのある?
それともいちいち文字数を数えて主導でpos指定しなおすしかない?
0452デフォルトの名無しさん
2008/01/21(月) 20:15:19つ[DrawText API]
0453デフォルトの名無しさん
2008/01/21(月) 21:45:35そんな変わらないけれどもw
ところで、HSPで言語設定を判定する事出来ますか?
0454デフォルトの名無しさん
2008/01/22(火) 00:51:380455デフォルトの名無しさん
2008/01/23(水) 20:00:48よくわからんなりなんとか思ったとおりにできた。ありがとん
0456デフォルトの名無しさん
2008/01/24(木) 12:15:23あの程度でさ〜 いい気になんなよ
0457デフォルトの名無しさん
2008/01/24(木) 23:30:230458デフォルトの名無しさん
2008/01/27(日) 11:42:01ソースネクストの「ウィルスセキュリティ」は修正されているようだけど…。
0459デフォルトの名無しさん
2008/01/27(日) 12:57:58avastだと問題ないけど
誤認識するアンチウィルスソフトはいったい何だい?
0460デフォルトの名無しさん
2008/01/27(日) 14:01:34これです。
http://www.onionsoft.net/hsp/hsp2alert.html
0461デフォルトの名無しさん
2008/01/27(日) 23:20:190462デフォルトの名無しさん
2008/01/27(日) 23:27:09XPのキージェネもはじく品。
0463デフォルトの名無しさん
2008/01/29(火) 14:15:16背景の上にボックスを半透明で表示して、その上に文字を出したいんだけど。
HTMLのstyle="filter:Alpha(opacity=50)"みたいな。
0464デフォルトの名無しさん
2008/01/29(火) 17:01:43unzipで一度解凍する以外になにか上手い手はないですか?
0465デフォルトの名無しさん
2008/01/29(火) 19:41:460466デフォルトの名無しさん
2008/01/29(火) 20:47:22ある。ジーコピーとジーモードを勉強しる!
0467デフォルトの名無しさん
2008/01/29(火) 23:14:17ttp://hspnext.com/
ttp://rpen.blogspot.com/
ttp://sprocket.babyblue.jp/
ttp://lhsp.s206.xrea.com/
0468デフォルトの名無しさん
2008/01/30(水) 00:28:20HSPが普通なインデントが使えることをはじめて知ったよ。
いつのバージョンから可能になったの?
0469デフォルトの名無しさん
2008/01/30(水) 07:41:03ttp://dream.freespace.jp/puma/
が抜けてるぞ
0470デフォルトの名無しさん
2008/01/31(木) 21:58:58そいつらゴトキが?
0471デフォルトの名無しさん
2008/01/31(木) 22:40:56所詮HSPなんてそんなもんだよ
0472デフォルトの名無しさん
2008/01/31(木) 23:38:37なかなか、知ってんのう!
0473デフォルトの名無しさん
2008/02/01(金) 23:39:10同一ウィンドに複数のオブジェクト(ボタンと入力ボックスを6つずつ等)を配置して
特定のオブジェクト(入力ボックスのみ等)にだけ、Tabキーでのカーソル移動が
有効になるようにしたいのですが、可能でしょうか?
もし、可能でしたらヒントを下さい。
0474デフォルトの名無しさん
2008/02/02(土) 12:24:50変数を特定の位置で印刷したいのですが、可能でしょうか?
また、それらを勉強するのに最適な書籍かHPを教えてください。
なぜかテンプレのURLが「HTTP エラー 403 - アクセス不可」でした。
0475デフォルトの名無しさん
2008/02/02(土) 20:25:23getkey 命令と、objsel 命令を使った力業で、自己解決しました。
0476デフォルトの名無しさん
2008/02/02(土) 22:27:12どうしてもセッションをひとつしか持てません。
listenソケットを作成し、接続を受け付けて
通信ソケットを取得することができますが
その状態でさらに別の接続を受け付けても
取り出すことができません。
どうしたらよいのでしょうか
0477デフォルトの名無しさん
2008/02/02(土) 22:53:480478デフォルトの名無しさん
2008/02/03(日) 06:23:09パレットリストみたいなものを配置したいんですが、
クリック時にマウスの座標を判別してイベントを起こす他に、
どんなオブジェクトを作成すればパレット選択から処理に飛べるでしょうか。(シングルクリックだけでいいので)
標準ボタンなんかは色を変えられないようです
0479デフォルトの名無しさん
2008/02/03(日) 09:59:55pget で色情報を取得して、やりたい処理をすればいいのでは?
0480デフォルトの名無しさん
2008/02/03(日) 12:19:190481デフォルトの名無しさん
2008/02/03(日) 14:37:38>クリック時にマウスの座標を判別してイベントを起こす他に、
0482あみぢ厨
2008/02/03(日) 15:25:56しっかし作業出来るのは、良くても日曜日ぐらいで
文字通り日曜プログラマになってしまた。
あーマジ学生時代に戻りたいぜぃ。
向う1年ぐらいは2Dゲーのプロジェクトで埋まってる。
というワケで、やるとしたら1年後だけど、
そんな僕にHSP導入は、アリですかね?
自分で調べろウンコですか、そうですか。すみません。
0483478
2008/02/03(日) 18:11:47画像ボタンへスタイル変更したボタンに画像データとして関連付けようとしたんですが
イメージのハンドルってどうやって取得するんでしょうか。
mrefの66で取得した変数をポインタとして渡すんじゃ駄目でした。
LoadImageAでハンドルを取得する場合はメモリから読み込めませんし。
0484デフォルトの名無しさん
2008/02/03(日) 18:44:500485デフォルトの名無しさん
2008/02/03(日) 20:09:59助かってまちゅ〜〜w
0486478
2008/02/03(日) 23:52:30プログラム終了時にDeleteObjectするのは当然ですが
ボタンに新しい画像を結びつける時には以前の画像を消さないとまずいですかね
Javaとかなら勝手に処理してくれそうですが
0487デフォルトの名無しさん
2008/02/04(月) 01:43:48随分大胆な仕様じゃない
0488デフォルトの名無しさん
2008/02/04(月) 02:04:42自分の環境ではエディタからやってもexeにした後に実行しても大丈夫なんだけど
どうも環境が違うと化ける場合もあるみたいで。
0489デフォルトの名無しさん
2008/02/04(月) 07:39:460490デフォルトの名無しさん
2008/02/04(月) 12:44:150491デフォルトの名無しさん
2008/02/04(月) 13:59:32遅くなったけどありがとう。ちゃんとできたー。
0492デフォルトの名無しさん
2008/02/04(月) 22:04:11基本的にAPIでは作成・開放は自分で管理せんとならん。
HSPはクラスも使えんからきちんとやるべき。
0493デフォルトの名無しさん
2008/02/04(月) 23:00:45おう!君は出来る子だと思ってたよ。
0494デフォルトの名無しさん
2008/02/05(火) 16:04:21ウィンドウサイズ位置、動画のサイズを変更することなく、
カーソルがウィンドウ上にある時だけシークバー表示を実現したいです。
BGSCRでそれっぽい事が出来そうですがどうしてもタイトルバーが表示されてしまいます。
構成としては、
ID0の初期ディスプレイは非表示にし、
ID2のタイトルバーの無い画面(bgscrで作成)をメイン画面に、
ID3をシークバーとしてBGSCRで表示させようとしてます。
この場合タイトルバーが2つ表示されてしまいます。
MCI再生の動画上に直接描写するなど他にも方法があればご教授頂ければ幸いです。
0495デフォルトの名無しさん
2008/02/05(火) 19:02:45「タイトルバー」を、別の何かと勘違いしてないか?
ま、一番下のヤツでやるのがいいんじゃない?常考。
あと、「教授」じゃなくて「教示」が正しいようだぞw
0496デフォルトの名無しさん
2008/02/05(火) 23:15:52#include "user32.as"
bgscr 2,,,2 //非表示で
GetWindowLong hwnd,-20
SetWindowLong hwnd,-20,stat|$80
gsel 2,1
こういうことか…?
0497デフォルトの名無しさん
2008/02/05(火) 23:30:27a は、こっちに来んな!w
0498デフォルトの名無しさん
2008/02/05(火) 23:44:12たぶんタスクバーに表示される奴の事を言ってるんじゃないのか?
#include "user32.as"
winx=ginfo_sx
winy=ginfo_sy
bgscr 2,,,2
boxf
hwnd2=hwnd
gsel 0
SetParent hwnd2, hwnd
gsel 2,1
width winx,32,0,winy-32
こんな感じじゃねぇ?
0499デフォルトの名無しさん
2008/02/05(火) 23:52:32おっと、
GetWindowLong hwnd2, -16
SetWindowLong hwnd2, -16, stat & (0xFFFFFFFF ^ 0x80000000) | 0x40000000
を忘れていた。
0500デフォルトの名無しさん
2008/02/06(水) 01:32:42また、ID2はタイトルバー表示させずタスクバーは表示させ、
ID3をタイトルバーもタスクバーも両方表示させないようにしたいです。
これも情報が間違っていて申し訳ありませんでした。
サンプル試してみましたが、自分のスクリプトの中に
#uselib "user32" というのが含まれているせいかfatal errorになります。
右クリックメニュー追加のためサンプルを改造しただけなので中身は理解してません…。
もしよろしければincludeを使わない形のご教示頂ければ幸いです。
0501デフォルトの名無しさん
2008/02/06(水) 02:27:28オマエのスクリプトの都合など知らん。
「右クリックメニュー追加のサンプル」とやらを
#include "user32.as"に合わせるのが筋。
0502デフォルトの名無しさん
2008/02/06(水) 11:22:270503デフォルトの名無しさん
2008/02/06(水) 14:01:56repeat
getkey key,65
wait 1
loop
みたいなスクリプトを書くと、aのキーが押されてる間中ずっとkeyに1が入りますよね?
これを押された瞬間のみkeyに1を入れて、その次のループ以降では0を入れたいのですが、どうすれば良いのでしょうか。
もちろん、2度目、3度目と押されたらその時もkeyに1が入るようにしたいです。
stickだと簡単に出来るのですが、getkeyだと調べてもなかなか方法が分からないです・・・
どうかご教授お願いします。
0504デフォルトの名無しさん
2008/02/06(水) 15:19:12試してみてダメだったと書いてあるのに随分ひどいレスだな。
酔った勢いで書くのはやめましょう。
>>503
変数が1になったら必要な処理して、変数が0になるまで別のループ処理するとか?
0505デフォルトの名無しさん
2008/02/06(水) 16:08:20getkeyは使ってないけど目的は達成出来そうなコード
#define WM_KEYDOWN 0x0100
#define WM_KEYUP 0x0101
oncmd gosub *check,WM_KEYDOWN
oncmd gosub *check2,WM_KEYUP
repeat
await 1
loop
stop
*check
switch wparam
case 65
switch lparam
case 1966081
mes "[a]が押された"
swbreak
swend
swbreak
swend
return
*check2
switch wparam
case 65
mes "[a]が離された"
swbreak
swend
return
0506デフォルトの名無しさん
2008/02/06(水) 16:21:27そこまで切り分け済んでるならHSP タスクバー 非表示で検索すりゃ自己解決ですぜ。
俺もMCIで質問したいんですが、
FLVをメディアプレーヤーで再生できるようにした後
HSPからも拡張子を一時的に変える事なく再生する方法はありますか?
win.iniにそれらしいのがあったのでFLVをMPEGVIDEOとして手入力するもNG。
えっちな人教えて!
0507デフォルトの名無しさん
2008/02/06(水) 17:52:10color 0,0,0 : mes "えお"
というプログラムを書くと自動的に改行されてしまいます。
posを使えば出来ないこともないですが、改行せずにちゃんと書くにはどうすれば良いんでしょうか?
0508デフォルトの名無しさん
2008/02/06(水) 18:24:29stick を使えよ。その為に生まれた命令なんだから…
あと、「教授」じゃなくて「教示」が正しいようだぞw
>>507
pos を使うしかない。
x=0 : y=0
pos x,y : color 0,0,0 : mes "あいうえお"
pos x,y : color 255,0,0 : mes "あいう"
0509デフォルトの名無しさん
2008/02/06(水) 18:42:27stickってエンターとかスペースとか矢印キーぐらいしか取得できないんじゃなかった?
0510デフォルトの名無しさん
2008/02/06(水) 18:50:50あ、ホントだー!w
>>503
ごめんなちゃい。
0511デフォルトの名無しさん
2008/02/06(水) 19:05:30やはりそのように上書き(?)して書くしかないのですね。
ありがとうございました。
0512デフォルトの名無しさん
2008/02/06(水) 21:08:33ちょっと大きめ程度の音量設定だったのにいきなり大音量で心臓止まるかと思ったよ。
0513デフォルトの名無しさん
2008/02/06(水) 21:29:46>#uselib "user32"
を使ってるのになぜ、理解出来んのだ?
もし、何処かにで拾ってきたソースをそのままパクって
組み込んだだけというのなら、お前がどんなソースを書いてるのか
分からん限り教えようがねーだろ!
0514デフォルトの名無しさん
2008/02/06(水) 21:32:23んなもん簡単だろ。
keyの値をコピーする変数をひとつ用意して、
その値と、keyの値を比較して
keyが1、もうひとつが0となった時にのみ
検出するようにすれば良いじゃん。
0515デフォルトの名無しさん
2008/02/06(水) 22:58:04天才登場!!!!!!!
0516デフォルトの名無しさん
2008/02/06(水) 23:04:520517デフォルトの名無しさん
2008/02/06(水) 23:09:12何かしらコマンドがあると思うのですが、探しても見つかりませんでした
どうかご教授願います
0518デフォルトの名無しさん
2008/02/06(水) 23:19:02つ"タイトル"
0519デフォルトの名無しさん
2008/02/06(水) 23:19:25どこぞの教授も呆れとったわw
0520デフォルトの名無しさん
2008/02/06(水) 23:20:42配列
>>517
title
0521デフォルトの名無しさん
2008/02/06(水) 23:43:26dim 変数
0522517
2008/02/06(水) 23:46:58皆さんありがとうございました
0523デフォルトの名無しさん
2008/02/07(木) 00:03:50それじゃ、幕引きは出来ないぜ!
ちゃんと、自己解決ゥ!と叫びなさいw
0524500
2008/02/07(木) 01:09:090525デフォルトの名無しさん
2008/02/07(木) 02:35:29#define 新規名称 元名称 [新規名称を登録する]
新しい別名(エイリアス)を追加するためのものです。 HSPの従来ある命令の名前を、別な名前でも使用できるようになります。新規名称は、予約されている命令語や変数名と重ならない20文字以内の、スペースを含まない英文字列でなければなりません。
とあるけど、別に英文字じゃなくて使えるよね?
英文字じゃないと場合によってエラーが起きたりするのかな?
0526デフォルトの名無しさん
2008/02/07(木) 12:40:32みたいに書くとちゃんと表示されず、
mes ""+aaa+":"+bbb
みたいに書くとちゃんとできるんだが仕様?
0527デフォルトの名無しさん
2008/02/07(木) 12:43:49っていうHSPの中の人からの愚痴です。
0528デフォルトの名無しさん
2008/02/07(木) 13:37:520529デフォルトの名無しさん
2008/02/07(木) 15:10:16変数の宣言って?
一応、
aaa = "あいうえお"
bbb = 777
みたいにはしてるよ。
0530デフォルトの名無しさん
2008/02/07(木) 15:15:51>>496,498,506
試せよ。
0531デフォルトの名無しさん
2008/02/07(木) 15:30:58文字列型と数値型を混ぜる時はどっちに合わせるか指定しろって事
数値に合わせるなら
mes aaa+":"+bbbなら":"も数値として扱われるし
文字列にしたいならmes str(aaa)+":"+str(bbb)としろ、と。
最初に来るaaaが文字列型なら文字列に合わせて丸められるし
数値型なら全て数値型に丸められる
aaa="あいうえお":bbb=777
mes aaa+":"+bbb
なら、あいうえお:777と表示されるし
mes bbb+":"+aaaなら777と表示される
型を混ぜる時はどっちかに決めろって事。
0532デフォルトの名無しさん
2008/02/07(木) 15:41:04あ、なるほどー。
Thanks!
0533デフォルトの名無しさん
2008/02/07(木) 16:06:15文字列にしたいならmes str(aaa)+":"+str(bbb)としろ、と。
自分はそういう時、mes ""+aaa+":"+bbb にしてるけど、これでも問題ない?
0534デフォルトの名無しさん
2008/02/07(木) 16:11:58aaa、bbbの型を間違えて嵌らなければ別にいいんじゃね?
俺は頭弱いからそういう使い方はしないけど
0535デフォルトの名無しさん
2008/02/07(木) 18:29:51if a==b { 処理1 }
else if a==c { 処理2 }
else {処理3}
みたいな制御構文は用意されてないの?
if a==b { 処理1 }
else {
if a==c { 処理2 }
else { 処理3 } }
って記述しなきゃダメだったりする?
0536デフォルトの名無しさん
2008/02/07(木) 19:15:06case b
処理1
swbreak
case c
処理2
swbreak
case default
処理3
swbreak
swend
こう?
0537デフォルトの名無しさん
2008/02/07(木) 19:30:44switch文もあるのか。
でも、a<b とか指定したり
if a==b {} : else if c=d {}
みたいなことやったりは出来ないよね?
0538デフォルトの名無しさん
2008/02/07(木) 19:38:17事前に数値を加工してswitchで振り分け
とかになるんじゃないかな
今の所、自分がそういう必要のある場面に出くわさないから良くわかんないや
0539デフォルトの名無しさん
2008/02/07(木) 20:40:41モジュール使えば?
#module
#deffunc nobr str msg
p = ginfo_cx, ginfo_cy
mes msg
pos p(0)+ginfo_mesx, p(1)
return
#global
repeat 5
nobr str(cnt)
loop
stop
>>537
if a==b { mes "a==b" } else : if a<b { mes "a<b" } else { mes "a>b" }
0540デフォルトの名無しさん
2008/02/07(木) 20:42:22case defaultっておかしいよな
誰も突っ込まないけど
0541デフォルトの名無しさん
2008/02/07(木) 20:58:16switch i
default
swbreak
case 1
swbreak
case 3
swbreak;
case 5
swbreak;
swend
こういう書き方すると、全く機能しないんだよな。
全部defaultになるというw
0542デフォルトの名無しさん
2008/02/07(木) 20:59:36既に答えが出てるだろ。あれ以上簡単にならねーよ。
0543デフォルトの名無しさん
2008/02/07(木) 21:08:24上から順番に評価するからそうだね
0544デフォルトの名無しさん
2008/02/07(木) 21:16:20#define elseif else:if
これで
if 条件1{
}elseif 条件2{
}elseif 条件3{
}
って書き方が出来るってどこかで聞いたぞ
0545デフォルトの名無しさん
2008/02/07(木) 22:19:40まだそんな仕様なんだな。HSPは。
0546デフォルトの名無しさん
2008/02/07(木) 22:56:07他の言語ならどれもあるのにね
0547デフォルトの名無しさん
2008/02/07(木) 23:01:56ふと思ったが、お前が使ったサンプルというのは、
commonフォルダに入ってる「mod_menu.as」の事か?
だったら、その中の
#uselib "user32.dll"
#func global CreateMenu "CreateMenu"
#func global CreatePopupMenu "CreatePopupMenu"
#func global AppendMenu "AppendMenuA" int, int, int, str
#func global SetMenu "SetMenu" int, int
#func global DrawMenuBar "DrawMenuBar" int
#func global PostMessage "PostMessageA" int, int, sptr, sptr
を消せば、>>496,498,506が使えるんじゃねーの?
0548デフォルトの名無しさん
2008/02/08(金) 18:28:18elseif (VBとか)
else if (Cとか)
else:if (HSP)
どれも違わないと思うのは俺だけか
0549デフォルトの名無しさん
2008/02/08(金) 18:30:06else:if
endif
endif
HSPしらないけどこうなっちゃわない?
0550デフォルトの名無しさん
2008/02/08(金) 18:32:43プリプロセッサ命令ならあるけど。
0551デフォルトの名無しさん
2008/02/08(金) 18:34:10いんや、普通にこう書けるんよ (HSP3な)
if A {
aaa
} else:if B {
bbb
} else:if C {
ccc
} else:if D {
ddd
}
0552デフォルトの名無しさん
2008/02/08(金) 18:41:450553デフォルトの名無しさん
2008/02/08(金) 18:42:44gosub *draw
stop
*draw
mes "test"
return
上記のようなプログラムで、関数を別ファイルに移したいのですが、
main.hspにはどう記述すればいいですか?
#include でdraw.hspを読み込ませると、いきなり*drawを実行してしまいます。
/* draw.hsp */
*draw
mes "test"
return
0554デフォルトの名無しさん
2008/02/08(金) 18:46:05gosubで飛ばせるなら#includeをmain.hspのケツに突っ込めばモウマンタイ
*drawの前にstop入れとくとmainから隔離出来てグー
先頭に#include入れたければ#deffunc使うとグー
0555デフォルトの名無しさん
2008/02/08(金) 18:50:32どうも、おしりに入れるやり方が一番早くていい感じです
ありがとうございましたm(_ _)m
0556デフォルトの名無しさん
2008/02/08(金) 19:17:59sdim list, 256
chdir "C:\\Documents and Settings\\user\\Local Settings\\Temporary Internet Files"
dirlist list,"*.jpg",0
font "", 10
mes list
とやると何も表示されません
jpgを*にするとContent.IE5、desktop.ini、temp.dmfの3つしか表示されずうまくいきません
何が原因なんでしょうか
またフォルダ内のデータを他のフォルダに移動させるにはどうしたらいいでしょうか
0557デフォルトの名無しさん
2008/02/08(金) 19:22:01else : 処理
とやるとエラーになるのですが仕様ですか?
0558デフォルトの名無しさん
2008/02/08(金) 19:36:01調べてもなぜか出てこないので質問しました。
0559デフォルトの名無しさん
2008/02/08(金) 19:37:11はい
0560デフォルトの名無しさん
2008/02/08(金) 19:37:44http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1313048593
>>557
if a==b {
処理
} else {
処理
}
こう書きます
0562デフォルトの名無しさん
2008/02/08(金) 19:44:24#define WM_KEYDOWN 0x0100
oncmd gosub *check,WM_KEYDOWN
repeat
await 1
loop
stop
*check
mes str(wparam)+"が押された"
return
↑のスクリプトで好きなキーを押せば対応するキーコードが出ます。
テンキーのハイフンは109、メインキーのハイフンは189です。
0563デフォルトの名無しさん
2008/02/08(金) 19:53:42書いてあるサイトもあるのですね。
失礼しました。
>>562
そのようなスクリプトも作れるのですね。
これから使わせて頂きます。
初心者な質問にわざわざ答えてくださってありがとうございました。
0564デフォルトの名無しさん
2008/02/10(日) 01:59:04ttp://fs-cgi-basic01.freespace.jp/~hsp/ver3/hsp3.cgi?print+200511/05110003.txt
画像を上下に縮小すると、画像の右端に重なる形で縦バーが追加されます。
画像と重ならないようにバーを付ける方法はないでしょうか。
0565デフォルトの名無しさん
2008/02/10(日) 02:40:44ウィンドウのサイズを横、又は縦に広げる。
スクリーン初期化時に決めたサイズ以上には大きく出来ないので
大きめのサイズで初期化してwidth命令で小さくしておくとイイかな。
0566デフォルトの名無しさん
2008/02/10(日) 04:41:10ウィンドウへのファイルのドラッグ&ドロップした時ウィンドウが移動してしまうのは回避不可?
もちろん処理はウィンドウがアクティブの時に限定してるけど、
ファイルをドラッグしてる間ってアクティブ解除されないし…
0567デフォルトの名無しさん
2008/02/10(日) 07:19:46どういう方法で左ドラッグでウィンドウ移動できるようにしたんだ?
フツーに組めばそういうことにはならない気がするが。
#include "user32.as"
#include "shell32.as"
onclick gosub *a
DragAcceptFiles hwnd, 1
stop
*a
ReleaseCapture
sendmsg hwnd, 0xA1, 0x02, 0
return
0568デフォルトの名無しさん
2008/02/10(日) 16:48:45なるほど。ありがとうございます。
0569デフォルトの名無しさん
2008/02/10(日) 18:22:51ありがと!getkey判定でscreen命令をループさせてたよ。
動くようになったけど、たまにドラッグ離してるのに移動続いたりする。
もう少し様子見ます。
0570デフォルトの名無しさん
2008/02/10(日) 22:31:24別にあえてasにしなくてもいいよね?.hspでも.txtでも。
#include命令使いたい(今まで一つのファイルで全部やってた・・・)んだけど
普通につくった.hspのファイルを拡張子だけ勝手に.asに変えてから使った方がいいのかな?
0571デフォルトの名無しさん
2008/02/10(日) 22:36:24別にasだろうがhspだろうがtxtだろうが好きに汁
0572デフォルトの名無しさん
2008/02/10(日) 23:39:500573デフォルトの名無しさん
2008/02/11(月) 03:55:03oncmd 0で全ウィンドウの割り込みが停止するのはバグですかね?
0574デフォルトの名無しさん
2008/02/11(月) 18:02:49たとえばemesみたいな、インクルードして始めて使えるような命令を、
標準命令と同じように変色させることはできるのか?
0575デフォルトの名無しさん
2008/02/11(月) 18:06:54今のところ無理。エディタの設定ダイアログを開いてみそ。
0576デフォルトの名無しさん
2008/02/11(月) 18:28:19少し残念だが、他言語ではこれが普通なんだよな……早急な解答�dクス
0577デフォルトの名無しさん
2008/02/11(月) 18:39:10外部DLLやllmodを使わずに処理する場合に参考になるサイトとか無い?
0578デフォルトの名無しさん
2008/02/12(火) 16:38:32perlを使ってるせいで全然上手くいかない・・・
0579デフォルトの名無しさん
2008/02/13(水) 00:43:32作ったソフトの上で別のウィンドウを動かすと白い部分が残ってしまいます。
redrawをループ内で回せばいいんですが、ループで何かが起きてるのか
何故か同時に起動している別のソフトのフレームレートが落ちてしまいます。
redrawを止めると元に戻ります。
タイマー使って定期的にredrawする以外に
ウィンドウの描画時にコレを使うと勝手に書き換えるよ
みたいなのってないですか?
ウィンドウ自体は普通に初期化してsyscolorで塗りつぶし
各種オブジェクトをHSPから設置しているだけです。
0580デフォルトの名無しさん
2008/02/13(水) 07:45:39残念。
もう少し日本語を上手く使えたのなら…。
0581デフォルトの名無しさん
2008/02/13(水) 12:35:18勘だけど、PAINTメッセージがらみでそんなことがあったような。
0582デフォルトの名無しさん
2008/02/13(水) 15:45:22マウスでクリックしないとなかなか反映されないのですがXPの仕様?
0583デフォルトの名無しさん
2008/02/13(水) 16:14:52Title "test1"
await 5000
mes "test2"
Title "Test2"
即時反映されますけど。
こういう事じゃないのかな?
0584デフォルトの名無しさん
2008/02/13(水) 17:40:11ループにwait入れてるか?
waitを大きく取るかWM_PAINT掴まえてそこでredrawしてみるしかないなぁ。
つか常に再描画するんなら重くなって然りだ。
”ループで何かが起きてるのか”もわからんで解決などありえん。
ゲーム作ってんなら「他のソフトのことなど知るか」と割り切れ。
ツールなら物にも依るが、なるべくループ使うな。
0585デフォルトの名無しさん
2008/02/13(水) 18:54:24>WM_PAINT掴まえて
あぁ、なるほど。
こういう事も出来るのか。
参考になりました。�dクス。
0586デフォルトの名無しさん
2008/02/13(水) 20:09:20>あぁ、なるほど。
あんな質問しててこれがで理解したのか!?w
0587デフォルトの名無しさん
2008/02/13(水) 21:40:18不思議だったのは
redrawが入ってるループだと何故か他のアプリに影響が出て、外すと影響が消える。
影響だけを考えると無い方がいいんだろうけど
そうするとウゥンドウの表示が乱れて気分的によろしくない。
ので、何か他の手段を、という事だったんで
メッセージ掴まえてredrawさせれば?という
解決への道筋を教えてもらえたので大変参考になった、と。
メインループでredrawを回さない分、意味不明なアプリへの影響も
原理的には無いわけで、これでダメなら他の部分が悪さしてるんだな、と。
メッセージ掴まえてredrawさせれば果たして上手くいくかは別問題ですが。
ちなみに、メインループでredrawさせても使用率は0%-1%で変化ナシ。
そこら辺の『wait入れてないんじゃね?』なレベルでは無いです。
0588デフォルトの名無しさん
2008/02/13(水) 22:01:08dim a
repeat
stick key,1+2+4+8
if key&1 and a=0 : end
if key&2 and a=0 : end
wait 5
loop
←を押せば終了するのに↑押しても終了されないのは何故ですか?
0589デフォルトの名無しさん
2008/02/13(水) 22:17:27(key&2)が1(真)にならないから
dim key
dim a
repeat
stick key,1+2+4+8
if key&1 and a=0 : end
if (key&2)>>1 and a=0 : end
wait 5
loop
こうかけば1になるから↑押しても終了するようになる。
でも面倒だから普通は↓こう書くか別変数使ってスイッチで分けない?
dim key
dim a
repeat
stick key,1+2+4+8
if a=0 {
if (key&1) :pos 0,0:mes "←"
if (key&2) :pos 0,0:mes "↑"
if (key&4) :pos 0,0:mes "→"
if (key&8) :pos 0,0:mes "↓"
}
await 5
cls
loop
0590588
2008/02/14(木) 00:46:49レスありがとうございます
↓の書き方にしてみます
まだ分からないところがあるんですが
and a=0をつけるとkey&2が真にならないのは何故なんでしょうか?
それと、(key&2)>>1という書き方を知らないんですが>>1ってどういう意味なんでしょうか?
0591デフォルトの名無しさん
2008/02/14(木) 01:11:47if文の基本は、ifに続く条件が真か偽かになります。a=0はaが0なら真、それ以外なら偽になります。
また、HSPや他の言語でもそうですが、真=1 偽=0として扱われます。
これを踏まえて、最初の条件を見ると、[ Key&1 and a=0 ]とあります。
人間にとっては10進数が基本ですが、PCにとっては2進数が基本なので
Keyという変数から0ビット以外をマスクして取り出す、という風に解釈します。
仮にKeyが0ならば(←キーは押していない)PCからは 0000 0000 0000 0000と0が16個ある状態になります。
これと10進数でいう1とを比べて第0ビットを取り出すと0になります。
0000 0000 0000 0000 ->変数Keyの中身
0000 0000 0000 0001 ->マスク
-------------------
0000 0000 0000 0000 ->10進数では0
結果は0になり偽となってif文では条件は成立していないと(0=偽だから)みなされます。
キーボードの↑を押すとKeyは1になります。
0000 0000 0000 0001 ->変数Keyの中身
0000 0000 0000 0001 ->マスク
-------------------
0000 0000 0000 0001 ->10進数では1
結果は1となり真となります。if文では条件が成立したと(1=真だから)みなされます。
同様に2(↑キー)を評価すると
0000 0000 0000 0010 ->変数Keyの中身
0000 0000 0000 0010 ->マスク
-------------------
0000 0000 0000 0010 ->10進数では2
となり真とは判断されずに、if文は成立していないとみなされます。
ので、こちらの思惑に沿わない処理が行われてしまいます。
[>>1]とはビットシフトをさせています。この場合、右に1ビットずらしています。
[0000 0000 0000 0010]を右に1ビットずらすと[0000 0000 0000 0001]になります。
結果が[2]な2進数を右にシフトする事で[1]に変換して真になるようにしてるんです。
でも普通はこんな書き方はしません。
0592デフォルトの名無しさん
2008/02/14(木) 01:15:18key&2は正否じゃなくて演算結果の2にしかならないんだな
>>*や<<*はシフト演算つって数字の数だけ2で割る/掛ける
0593デフォルトの名無しさん
2008/02/14(木) 01:16:20×でも普通はこんな書き方はしません。
○でも普通はこんなシフトさせてのキー判定はしません。
0596デフォルトの名無しさん
2008/02/14(木) 03:16:44結論はあってるけど途中経過がおかしい
C++やHSPでは0が偽、0以外は全て真と扱われる。
比較演算子は比較の結果が真のとき1を返すが、1以外の値でも0でなければ真。
HSPでは&も&&もandも全てビットごとの論理積なので、
keyが2でaが0の時、((Key&2) and (a=0))は、((2) and (1))になって最終的に0になるから偽。
ビットごとの論理積では( 真 & 真 )が必ずしも真にはならない。
バグの原因は数値をそのまま論理値として使ってるせいだから、↓のように一度比較演算子を通すといい
if ((key&1) != 0) and (a=0) : end
if ((key&2) != 0) and (a=0) : end
0597デフォルトの名無しさん
2008/02/14(木) 11:38:10>ビットごとの論理積では( 真 & 真 )が必ずしも真にはならない。
なるほど。
0598デフォルトの名無しさん
2008/02/14(木) 15:22:14ウィンドウのタイトルバーは即座に更新されるけど、画面したのタスクバーの中身は古いままに。
0599デフォルトの名無しさん
2008/02/14(木) 15:26:21コード試してみた?
ウィンドウタイトルもタスクバーのタイトルも5秒後に同時に更新されるけど。
0600デフォルトの名無しさん
2008/02/15(金) 09:09:24こうすりゃ良いんじゃね?
#undef and
#undef or
#define and )!0 & 0!(
#define or )!0 | 0!(
if (key&1 and a=0) : mes "a"
if (key&2 and a=0) : mes "b"
欠点として、ifの条件式をカッコで囲まなければならんけど、
Cと同じと思えば気にならんし。
0601デフォルトの名無しさん
2008/02/15(金) 16:34:040.1秒ごととかの更新でもまずついていけない。諦めるべし。
0602デフォルトの名無しさん
2008/02/15(金) 16:43:39選択アイテムのハンドルは取得出来るけど、テキストが取得出来ん。
0603デフォルトの名無しさん
2008/02/15(金) 17:28:17ファイルをplay.mpgとかでコピーすれば再生可能ですが開くまでに結構時間が…
0604デフォルトの名無しさん
2008/02/15(金) 17:36:45>>603 そういうコーディック入れる。スレ違い
0605デフォルトの名無しさん
2008/02/15(金) 18:28:22質問スレでそういう答え方って意味ないよな
分からないんなら黙ってろと
0606デフォルトの名無しさん
2008/02/15(金) 18:48:15リネームして開けば?
0607デフォルトの名無しさん
2008/02/16(土) 05:04:58codec入れたからMPGに拡張子擬装して再生出来るんじゃん。
0608デフォルトの名無しさん
2008/02/16(土) 05:05:550609デフォルトの名無しさん
2008/02/16(土) 21:14:430610デフォルトの名無しさん
2008/02/16(土) 22:51:15じゃ、自己解決ゥ!
0611デフォルトの名無しさん
2008/02/18(月) 18:41:330612デフォルトの名無しさん
2008/02/19(火) 08:56:41今まで全部bufferで読み込んでからやってきたんだけど、それでいいのかどうか。
今つくってるスクリプトでは数百枚は画像読み込むんだけど、1度の起動で1,2回使われるか
どうかって画像は直接読み込んだ方がいいんだろか?
逆に、数百もをbufferで最初に全部読み込んでおくデメリットはある?
メモリずっと食い続けるとか、その読み込み時だけ時間かかるだけで他はない、とか。
0613デフォルトの名無しさん
2008/02/19(火) 16:46:38その画像をユーザーが指定出来るならば少し考えた方が良い。
0614デフォルトの名無しさん
2008/02/19(火) 21:58:31数百は多いな、bufferをキャッシュにしたら?
50枚だけbufferを作って、新たに参照された画像はbufferに読み込む
一番長く参照されなかった画像はbufferから破棄、と
何を書いてるかによるが、工夫すれば楽しいぞ
0615デフォルトの名無しさん
2008/02/19(火) 23:18:32アドベンチャーゲームみたいなもんを作ってるわけか?
頻繁に使用する画像ならともかく、
背景画とかなら、使用するたびに呼び出せば良いだろ。
0616デフォルトの名無しさん
2008/02/20(水) 01:53:280617デフォルトの名無しさん
2008/02/20(水) 01:54:290618デフォルトの名無しさん
2008/02/20(水) 03:25:460619デフォルトの名無しさん
2008/02/20(水) 05:49:20かいつまんでで良いので
0620デフォルトの名無しさん
2008/02/20(水) 07:47:59大阪と東京くらいの違いです。
0621デフォルトの名無しさん
2008/02/20(水) 15:32:52HSP3.1のアーカイブ版って無いのか('A`)
0622デフォルトの名無しさん
2008/02/20(水) 18:02:440623デフォルトの名無しさん
2008/02/20(水) 18:04:590624デフォルトの名無しさん
2008/02/20(水) 21:15:12そういうこと。ベータ版も正式版とそんなに変わらんって事さ。
0625デフォルトの名無しさん
2008/02/20(水) 21:50:14あるよ
0626デフォルトの名無しさん
2008/02/20(水) 22:27:05大阪弁でおk
0627デフォルトの名無しさん
2008/02/21(木) 06:20:130628デフォルトの名無しさん
2008/02/21(木) 07:11:150629612
2008/02/21(木) 15:35:31>>613
つくってるのはゲーム。アクションやシューティングみたいなのじゃないし
RPGのマップみたいなのもない。フィールドマップのないRPGみたいな感じかな。
>>614
なるほどー。それは思いつかなかった。
>>615
ゲーム性のあるアドベンチャーみたいなもんかもしれない。
下記に纏めてあるけど、その直接読み込むと「どうなるのか」を理解してないんだ・・・
HSPに関しての説明で、「画像読み込みはbuffer使ってgcopyで!」ってのしか見た事なくて。
仮に頻繁に使うのだけbufferで、他picloadでというスクリプト組んで、自分の環境で問題なくても
他の人の環境だとやたら負荷がかかって問題あったりするのかなぁ?とか。
んで。
picloadで直接読み込む場合のデメリットを詳しく知りたい。
picloadで直接読み込むのも、buffer画面に一旦読み込むのも負荷は同じだよね?
アクションゲームなんかの場合にこれだと、カクカクしそう、くらいには想像できるんだけど・・・
同じなら結構な数を直接読み込む事で済ませられそう。
0630デフォルトの名無しさん
2008/02/21(木) 16:10:37以下のコードでscreenとbufferに対するpicloadの負荷の掛かり具合を調べた。結果は
Screen > 32ms/Picload
Buffer > 26ms/Picload
この差をどう受け止めるかは作るソフトによって変わるので何とも言えんが
bufferに一旦読み込むのも負荷は同じってのは改めましょう。
#uselib "WINMM.DLL"
#func timeGetTime "timeGetTime"
dim Time,4
screen 0,640,480 : buffer 1,640,480
gsel 0 : title "Now Screen testing"
timeGetTime : Time(0) = stat
for i,0,100
picload "Test.jpg"
next
timeGetTime : Time(1) = stat
title "Now Buffer testing"
gsel 1
timeGetTime : Time(2) = stat
for i,0,100
picload "Test.jpg"
next
timeGetTime : Time(3) = stat
title "Finished"
gsel 0 : cls
time1 = (Time(1)-Time(0))/100
time2 = (Time(3)-Time(2))/100
mes "Result"
mes "Screen Picload " + str(time1)
mes "Buffer Picload " + str(time2)
0631デフォルトの名無しさん
2008/02/23(土) 17:11:24bufferへのpicloadは、読み込みのみなので、同等の動作にしようと思ったら、
画像をウィンドウにgcopy等で転送する手間がかかるな。
0632デフォルトの名無しさん
2008/02/23(土) 20:47:52そもそもプログラミング自体、未経験も当然なレベルなんです。
参考になるサイトとかってないですかね?
0633デフォルトの名無しさん
2008/02/23(土) 20:59:52正直、何がしたいかによる。
0634デフォルトの名無しさん
2008/02/23(土) 23:56:57やりたいことを、やりたいとおりにやればいいのさ。
敷かれたレールの上しか歩けないのなら、別のことをやった方がいい。
0635デフォルトの名無しさん
2008/02/24(日) 01:47:231800行程度しか読み込んでくれません。
同じテキストをエディタで読み込んでも同様です。
何か似たような現象知りません?
0636635
2008/02/24(日) 01:54:00改行コードに問題アリでした。
スレ汚しスマソ
0637デフォルトの名無しさん
2008/02/24(日) 07:22:14くだらないレスするなよ
0638デフォルトの名無しさん
2008/02/24(日) 16:32:02マニュアルの目次にある「初心者のためのHSP入門」をクリック!
0639デフォルトの名無しさん
2008/03/01(土) 07:49:41emes命令を使いたくて四苦八苦しているんだが、
どうしてもエラー6が出てしまう。
#include "hsp3util.as"
text 100
emes "あいうえお"
エラーで表示される行数は書いてもいない行番号。
モジュールはcommonファイルに入っているし、
作業ディレクトリに入れてみてもダメだった。
ヒントでもいいから教えてくれorz
0640デフォルトの名無しさん
2008/03/01(土) 10:26:190641デフォルトの名無しさん
2008/03/01(土) 13:09:47どうりで関数化された命令が使えないと…
迅速なレスありがとう、本当に助かった。
0642デフォルトの名無しさん
2008/03/02(日) 20:11:46単純な割り算を計算させようとしているのですが小数点以下が計算されません。
仕様なのはわかるのですが小数点以下まで表示させる方法はないのでしょうか?
何卒お願いします・・・
0643デフォルトの名無しさん
2008/03/02(日) 20:19:22a = double (1) / 3
これで1÷3が小数点付きで計算されます
0644デフォルトの名無しさん
2008/03/02(日) 20:22:39迅速なレスありがとうございます。
大変助かりました。
本当にありがとうございます。
0645デフォルトの名無しさん
2008/03/05(水) 20:13:03オフィシャルサイトにはインストーラ形式しか見当たらず当惑してます
zip版はどこにあるのでしょうか?
0646デフォルトの名無しさん
2008/03/05(水) 21:21:47つ ttp://hsp.tv/make/downlist.html
0647デフォルトの名無しさん
2008/03/05(水) 21:57:56ありがとうございました!
0648デフォルトの名無しさん
2008/03/08(土) 01:10:45与えられた数値の、10の位以下を0にしたいのです。
例) 1923 -> 1900 230 ->200
アルゴリズムを考えてみましたが、思いつきません。
お知恵を貸してください。
0649デフォルトの名無しさん
2008/03/08(土) 01:15:57a = int ( 1923 / 100 ) * 100
0650デフォルトの名無しさん
2008/03/08(土) 01:51:44a=b-b\100
とか
0651デフォルトの名無しさん
2008/03/08(土) 02:00:37と思って試したら普通にビットシフトされててちょっとガッカリ
10進数のままシフトしてくれたら>>2と<<2で出来たのに。
まぁどうでもいいか。
0652デフォルトの名無しさん
2008/03/08(土) 11:59:38お前ビットシフトを理解してないだろ。
0653デフォルトの名無しさん
2008/03/08(土) 14:00:24Ω ΩΩ <な、なんだってー
0654デフォルトの名無しさん
2008/03/08(土) 23:51:58ありがとうございました。
言われてみると簡単ですねorz
0655デフォルトの名無しさん
2008/03/09(日) 11:13:01最近、やっとPSP-2000買っちゃったよ。
0656デフォルトの名無しさん
2008/03/10(月) 03:29:57ボタンを押すと、あらかじめ設定しておいた文字列を
クリップボードにコピーするプログラムを作ってました。
エディタ上から起動すると問題なく動くのですが、コンパイルしたやつから起動すると
内部エラーが発生しました(38)
と言われて動きません。
ソースなどを晒すので、どこがおかしいのか見て下さい。
ttp://academic.meganebu.com/~kurorohome/ms.zip
0657デフォルトの名無しさん
2008/03/10(月) 03:36:21hspext.dllを実行ファイルと同一の場所に置くか
パスが通った%WINDIR%やSYSTEM32フォルダにおいて実行しましょう。
普通は同梱するけどね。
0658デフォルトの名無しさん
2008/03/10(月) 04:06:12hspext.dllを追い出してみたけど、かなりソースが増えるな。
クリップボードって面倒だなぁ。
0659デフォルトの名無しさん
2008/03/10(月) 14:01:24n="あいうえお"
mesbox n,0,0 :mid=stat
objprm mid,n
sendmsg objinfo(mid,2),0xB1,0,-1 ;EM_SETSEL 0xB1
sendmsg objinfo(mid,2),0x301,0,0 ;WM_COPY 0x301
0660デフォルトの名無しさん
2008/03/11(火) 20:08:000661デフォルトの名無しさん
2008/03/11(火) 21:31:13ありがとうございました。
まさか、dllを同梱するなんて思いませんでした。
「hspext.as」をインクルードしただけで満足してました。
前まで使ってたプログラム言語はコンパイルした時に必要なdllとかコピーされてたので
>>658
APIですか、大変そうですけど頑張ってみます。
実行ファイルを小さくしたいのに、dllとか同梱して増えたら本末転倒ですから///
すいません・・・ネットがあまり繋げない状態で・・・
0662デフォルトの名無しさん
2008/03/11(火) 21:40:28659のコードを参考にすればAPI使わなくてもAPI叩かなくてもなんとかなるよ。
659のままだとHSP3だと動かないけど。
2.6だと動くのかな?
ヨクワカンネ
0663デフォルトの名無しさん
2008/03/11(火) 22:02:21うぉー動きました!!!
ありがとうございます。
>>659
ありがとうございました。
コピペしただけなので、これから命令リファレンスみながら勉強させて頂きます。
0664661 663
2008/03/11(火) 22:28:29n="あいうえお" ;変数を設定して
mesbox n,0,0 ;ボックス作って
mid=stat ;IDを取得して
objprm mid,n ;nに設定し直す
sendmsg objinfo(mid,2),0xB1,0,-1 ;EM_SETSEL 0xB1 ;取得したIDの部品の文字列を選択して
sendmsg objinfo(mid,2),0x301,0,0 ;WM_COPY 0x301 ;選択した文字列をコピー
これって、「objprm mid,n」の部分って
必要な時に、文字列を変える処理でいいんですよね?
メッセージボックスを何個も作らないで、これひとつで全部を代用する為に。
0665デフォルトの名無しさん
2008/03/11(火) 23:02:31を
mesbox n,100,100
にすればどういう状態なのかを確認出来るよ。
その状態でobjprm mid,nを数値を変えて色々試すといいっす。
0666とテテヘつ
2008/03/15(土) 16:50:57dialogで二重に発生するソースを教えて。
0667デフォルトの名無しさん
2008/03/15(土) 16:54:46は?
0668デフォルトの名無しさん
2008/03/15(土) 17:00:170669アブダラ様
2008/03/15(土) 18:07:16どうか教えてくださいませ。」という事であろう。
素直に言えばいいのじゃ。≫666よ。
小さき者よ。≫666よ。
いつか光が差すであろうぞよ。
精進するのじゃ。
・・・さらばじゃ。≫666よ・・・
0670デフォルトの名無しさん
2008/03/15(土) 18:14:510671とテテヘつ
2008/03/15(土) 18:19:14出来れば、ソースを書いてくんださい。
0672デフォルトの名無しさん
2008/03/15(土) 18:26:46#uselib "USER32.DLL"
#func MessageBox "MessageBoxA" int , int , int , int
#deffunc doubledialog str mes1 , str mes2
str1 = mes1 : str2 = mes2
pstr1 = varptr( str1 )
pstr2 = varptr( str2 )
MessageBox hwnd , pstr1 , 0 , 0
MessageBox hwnd , pstr2 , 0 , 0
return
#global
doubledialog "Test1","Test2"
こうか?w
0673デフォルトの名無しさん
2008/03/15(土) 18:37:490674デフォルトの名無しさん
2008/03/15(土) 18:42:550675デフォルトの名無しさん
2008/03/15(土) 18:50:340676デフォルトの名無しさん
2008/03/16(日) 03:34:163日でシューティング作ったとか信じられないです
私の頭が悪いだけでしょうか
時間の無駄なので諦めた方がいいでしょうか?
0677デフォルトの名無しさん
2008/03/16(日) 03:50:41参考サイトなり参考書籍なりを見ながらでないと
天賦の才能が無い限り無理。
簡単な初心者向けの解説サイトや書籍等があるので
そこを参考にしつつ少しずつ自分のものにすればおk
人が3日でシューティングが作れたとか
他人と比較するのは意味ないっす。
あくまでも自分が楽しめるかどうか、です。
今、HSPなりC++なりをバリバリ使える人も
最初はHellowWorldから始めたもんす。
0678あみぢ厨
2008/03/16(日) 21:15:52今となっては、どんなのを作ったら喜ばれるのだろうか・・・。
うーむ。
0679デフォルトの名無しさん
2008/03/16(日) 22:08:31個人的には面白い横スクロールが見たいけど
0680デフォルトの名無しさん
2008/03/16(日) 22:15:25既存のパクリではない仕様で、
難易度はシューター向けにチューン
2. キャラゲー
同人ならパロでもいいが、オリジナルでもいい
難易度はヌルめなものからシューター向けのものまで選べると良い
3. リスペクト
既存のシューティングを元にした同人作品
元ネタを知ってるとニヤっとするネタを仕込む
あるいはこれらの掛け合わせ。
0681あみぢ厨
2008/03/16(日) 23:04:10・ストーリー、絵(特にキャラ絵)、音楽、世界観 重視
・システムはシンプル、アクション寄り、ガシガシ進んでいく
・多少の被弾は気にしない HP/MP 制
・スコアとかオマケに過ぎない。
こんなSTGを構想中なのですが、ちょっと考えを改めた方がいいですねぇ。
うーむ。時間が無限に欲しいぜ。
え? もう休み終わり? orz orz orz
0682デフォルトの名無しさん
2008/03/16(日) 23:08:440683あみぢ厨
2008/03/16(日) 23:23:23そうですねー。それが第一ですね!
第二はですね・・・。
ぶっちゃけると、知名度がある程度欲しいのです。
「ちやほやされたひ」ってやつ?
はるか大昔2chの某スレで、何度か自作ゲーの流れになった時は
脳汁が止まらなかったのよ。
大して能力が無い俺でも、誰かが話題にしてくれるのですよ。
頑張れば!
なんか俺、死んだほうがいいな。
寿命あとどのぐらいかな?
0684デフォルトの名無しさん
2008/03/16(日) 23:37:170685デフォルトの名無しさん
2008/03/16(日) 23:41:26作ったものが評価されると嬉しいもんだしね。
でも、例えば、最初から富士山の頂上に飛んでいこうとしてもそれは無理なわけで
地道に一合目からステップを踏んでいかないとダメなわけですよ。普通の人は。
ヘリとかで頂上に飛んでけばいいジャン、みたいに思われると思いますが
それは限られた、天賦の才能がある人に限られる訳で。
とりあえずHSPで作るんなら、不恰好なコードで構わないし
画面に絵や文字を表示するだけの単純なもので構わないので
何か作ってみて、HSPとプログラミングに慣れる事が最初の一歩ですよ。
特にHSPは、細かい事をあまり意識せずに作れちゃうので
プログラミング初心者には向いてるんじゃないかな。
0686デフォルトの名無しさん
2008/03/17(月) 00:01:22商売する目的が「人の役にたつものをつくりたい」という人もいるし
「金儲けがしたい」という人もいる
問題はやるか、や ら な い かだ
0687デフォルトの名無しさん
2008/03/17(月) 01:09:47を強調するのヤメレw
0688デフォルトの名無しさん
2008/03/17(月) 01:11:090689デフォルトの名無しさん
2008/03/17(月) 09:43:250690デフォルトの名無しさん
2008/03/19(水) 19:24:22無料ですか?
0691デフォルトの名無しさん
2008/03/19(水) 20:33:18わざわざうさみみで解析するのつかれたお
0692デフォルトの名無しさん
2008/03/19(水) 20:39:02,.ヘー'´ i `´/ `i_
/ヾ、 ヽ、 i / /ヽ
_ィ、〉 > ´ ̄  ̄ ` く ,ゝ、
}、 ,>'´ 、 ヽ./`ヽ
┌! / / i 「`i ヽヽ ヽ }
Y ! | | l i i l i ',__,.ゝ
,' | | | !l l | l l !
i ! | | | | j___j | |i i!
|i! l ,.|‐T丁i! ハlj, --!`トlノ、||
| ! ! レ'i´`j "i´ `iヽ, i || _
| l |i iバ__ソ L__ソ /.ノ |! _ヽ)
| | |l |、//// ' ///// |! |i ヽ)
!ハ |! |,ゝ' ´ ̄ ̄ ` く レy'|!
__,ノ レ'ヽiハ / \}'´ ̄ `ヽ、
ィ´ ̄/ ,べY 取得できるが Y`i__ \
〉/ / , 、ヽ お前の態度が /_`ヽ\ \
,ィ'ん、 / ! '´__ ヽ 気に入らない /´__,.` ', \ ァ'`
`ヽ、/ー' /! __`ヾ! レ'´ _,. ! \ i
/ー-ィ、 ィ__! ___`フ / ヽ二 /7 _i弋
/ 辷j ! ヽ / / / / } j´ 〉
ヽ、 冫 ヽ__ュ_y\ / / /ヽヘ/え´ /
\'´` `}ー-、_,ゝくi ヽ、 ____ ,. イィ_,、 __う'´__/
, `>ャ,`Yー-‐'^ |ニ=ー- ー-/ `^7 ,ゝ、ヽ
/// l ! | / } / | iハ_j
く///f´ ̄l/ | i y /-、| |
// | ┌ヽ. / `ー-='´ _| /` | |\
i l | ,ゝ,ハ / ´,ハ /〉 レ' ヽ
0693デフォルトの名無しさん
2008/03/19(水) 20:43:05読め
0694デフォルトの名無しさん
2008/03/19(水) 21:36:41私奴の知識では固定アドレスしか書き換えできません
ご教示願います
0695デフォルトの名無しさん
2008/03/19(水) 22:15:46スマン、フリーウェアだったのか。
さっそくダウンロードしてくるわ。
0696デフォルトの名無しさん
2008/03/20(木) 19:09:25お前には100年かかっても無理。あきらめろ。
0697デフォルトの名無しさん
2008/03/21(金) 15:16:19依存関係とメンテナンス性を勘案して分割するのがかったるい。
特に行番号上の前後関係が難しい。
オブゼクト指向っていうの?みんなはどうやってるんだぜ?
0698デフォルトの名無しさん
2008/03/21(金) 18:38:27手遅れのような気がする。
ハ_ハ
('(゚∀゚∩ 気がする!
ヽ 〈
ヽヽ_)
0699デフォルトの名無しさん
2008/03/21(金) 18:54:15おしえてよ!!!ぼくの関数達ががからまって解けなくってるよ!!
0700デフォルトの名無しさん
2008/03/21(金) 20:03:14HSPだと関数やらモジュールやらを先に宣言しなくちゃいけないから不便だなー
0701デフォルトの名無しさん
2008/03/21(金) 21:55:48それ以外はなるべくgosubで処理するようにする。
で、メインソースの最終行にstopとサブルーチンを纏めたサブソースをincludeする。
関数も一まとめにして別ソースに分けてメインソースの最初の方でincludeする。
定数定義とかAPIとかモジュール宣言も、それぞれ別ソースに一まとめにしてinclude。
処理の流れはメインソース見れば分かるのでとりあえず問題ナシ。
こんな感じで書いてる俺。
0702デフォルトの名無しさん
2008/03/21(金) 22:09:20行の前後ねー・・それにつきるわ。不便ですよね。
んでメソッドってなに?
>>701
gosubあんま使わない(モジュールにしちゃう)けど、
メインから1階層下の処理郡はgosubでやってみるかな。
0703デフォルトの名無しさん
2008/03/21(金) 22:55:46のためにしか使ってない。
自分の場合、速度やタイミングを考えなくていいソフトしか作ってないので、
モジュールとユーザ定義命令がデフォルト。名前空間を分割しないと、ファイル
分割の効果も半減してしまう。
>>702
>んでメソッドってなに?
他の言語の話でしょ。
ところでdev-MLのあいつ、絶対MLの過疎化助長してるよ。カンベンして欲しい。
0704デフォルトの名無しさん
2008/03/22(土) 00:50:20VC++に乗り換える。HSPはもう捨てなさい。
0705353
2008/03/22(土) 22:13:27処理速度を比較してみたらifのほうが速いっぽい。
この場合ifを使うべき?
#include "Kernel32.as"
repeat 10
GetTickCount:begintime=stat:
repeat 100000
a=rnd(5)
/*
if a=0:b++
if a=1:c++
if a=2:d++
*/
/*
switch a
case 0
b++
swbreak
case 1
c++
swbreak
case 2
d++
swbreak
swend
*/
loop
GetTickCount:endtime=stat:mes (endtime-begintime)
loop
0706デフォルトの名無しさん
2008/03/22(土) 22:16:070707デフォルトの名無しさん
2008/03/22(土) 23:32:16>>706
「気にしないでくれ」は、1回だけにしてください!w
0708デフォルトの名無しさん
2008/03/22(土) 23:36:29つか、
変数で処理分けするなら on gosub 使った方が速いし見やすい。
ifを増やすと分かる。
0709デフォルトの名無しさん
2008/03/23(日) 00:29:15switch文は実際にはマクロの一種で、コンパイルの前に以下のように置き換えられる。
p1 = a
if ( 0 ) ; p2++
if ( p1 = 0 ) | p2 : b++ : goto *end_switch
if ( p1 = 1 ) | p2 : c++ : goto *end_switch
if ( p1 = 2 ) | p2 : d++ : goto *end_switch
*end_switch
変数2つとラベル1つが無駄に作られる上、余計な処理が増える(特にgoto文)ので
ほとんどの場合単純なif文より遅い。
よって速度を気にするならifを使うべき。
repeatとfor、whileの関係も同じ。
0710デフォルトの名無しさん
2008/03/23(日) 13:00:45onkey gosub *set
repeat
mes "cnt " + cnt
await 3000
loop
*set
return
何もしなければ3秒ごとに"cnt ?"と表示されますが、何かキーを押しっぱなしにすると、
"cnt ?"が待ち時間なしで次々と表示されてしまいます。
これは、await中にキー割り込みが発生して、gosubから戻ってきたとき、
awaitの残り時間が無視されてしまうってことでしょうか?
HSP ver.3.1 os:WindowsXP
0711デフォルトの名無しさん
2008/03/23(日) 13:05:12無視されるんじゃなくて次の行に処理が移るから
0712710
2008/03/23(日) 13:25:16レスありがとうございます。
そうなんですかー。そうするとwaitやawaitを使うなら、
onkey, oncmd, onclickなどの命令は使わないほうがいい
ということなんですかね。うーん。
※awaitをwaitにしたり、onkeyをonclickやoncmd(WM_KWYDOWNを指定)
にしても同じような結果になります。
0713デフォルトの名無しさん
2008/03/23(日) 13:26:51やりたい事が分からないけど
awaitじゃなくWM_TIMERでmes cntを回せば?
0714710
2008/03/23(日) 13:36:24そうですね、検討してみます。
stick命令で使用できるキーが限定されているので、
onkeyでキーを取得してstick命令にかわるものを作ろうかなと思いました。
0715デフォルトの名無しさん
2008/03/23(日) 13:40:07キーコード一覧
http://quasiquote.org/hspwiki/HSP%25A4%25CETips:HSP%25A5%25AD%25A1%25BC%25A5%25B3%25A1%25BC%25A5%25C9%25C9%25BD
取得出来ないキーってなかったはずだけど。
0716710
2008/03/23(日) 13:59:58onkeyでlparamのbit30を調べると、キーが押された瞬間?がわかるので、
getkeyで実現するよりも適切かなと思いました。
getkeyのほうも検討してみます。
0717デフォルトの名無しさん
2008/03/23(日) 14:03:59押された瞬間なら
oncmd gosub *check,WM_KEYDOWN
でOK。
離された瞬間なら
oncmd gosub *check2,WM_KEYUP
な。
0718デフォルトの名無しさん
2008/03/23(日) 14:31:49hspinetを使ってみようと思いました。
goo辞書から音声ファイルを取り込みたいのですが、
まずは、検索した英単語が載っているページをダウンロードして見ようと思い、下のコードを記述しました。
netinit
neturl "http://dictionary.goo.ne.jp/"
if stat : dialog "ネット接続に失敗しました。" : end
netload "search.php?MT=" + word(英単語1語を格納済み) + "+&kind=ej&mode=0&kwassist=0"
stop
しかし、「エラー:ダウンロードファイルが作成できません。」と表示されてしまい、出来ませんでした。
インターネットに接続するプログラムを作るのは初めてなので、わかりません。
出来ればご指導のほど宜しくお願いいたします。
0719デフォルトの名無しさん
2008/03/23(日) 16:25:18ありがとうございます。onが一番無難のようですね。
0720デフォルトの名無しさん
2008/03/23(日) 18:16:31netdlname命令で保存ファイル名を指定するんだ!ファイル名に使える文字だけを
使うんだ!
0721デフォルトの名無しさん
2008/03/23(日) 21:23:18商用、非商用、同人ソフトを問わず、どのような形態での使用も可能です。ただし、違法な行為には使用しないでください。
とあるが、違法な行為ってどういう場合よ。
0722デフォルトの名無しさん
2008/03/23(日) 21:29:08スピード違反
0723デフォルトの名無しさん
2008/03/23(日) 21:30:07合法でないこと。
0724デフォルトの名無しさん
2008/03/23(日) 21:34:540725デフォルトの名無しさん
2008/03/23(日) 22:54:09アホ役人の考えたコンピュータウィルス処罰の法案では
format d:
というバッチ/コマンド/文字列だけでも違法な可能性があるというから笑える、いつ思い出しても楽しい
0726デフォルトの名無しさん
2008/03/23(日) 23:35:48だからエンターで入力決定とかしたいときはサブクラス化しかないのかー!
とか思ったが普通に onkey 使えばいけるんだよな('A`)
0727デフォルトの名無しさん
2008/03/24(月) 00:13:45じゃ、自己解決ゥ!
0729デフォルトの名無しさん
2008/03/24(月) 22:20:08この使い方は正しいのか?
0730デフォルトの名無しさん
2008/03/25(火) 12:48:00>本来p1,p2に任意の数値を入れればそのサイズにウィンドウが変更されるはずなのですが、
>なぜか初期のウィンドウサイズより大きくはならないようです。
>これについては後日調査しますが、es_screen実行後にscreen命令を使ってウィンドウサイズを
>変更することで対処することができます。
とあるから、想定外の動作っぽいが、当面はOKなんじゃないか?
0731デフォルトの名無しさん
2008/03/26(水) 09:15:300732デフォルトの名無しさん
2008/03/26(水) 10:30:230733デフォルトの名無しさん
2008/03/26(水) 19:22:34stat に 1 が返ってくれば開いています。
それ以外なら、閉まっています。
0734デフォルトの名無しさん
2008/03/26(水) 20:07:45おお、わざわざサンクス
とりあえずscreenでいろいろ試してみるが、
本当にプラグイン製作者さんには感謝の限りだな
0735デフォルトの名無しさん
2008/03/27(木) 20:29:100736デフォルトの名無しさん
2008/03/27(木) 20:54:520737デフォルトの名無しさん
2008/03/27(木) 21:02:04これはすごい! ありがとうございます!
0738デフォルトの名無しさん
2008/03/28(金) 21:04:160739デフォルトの名無しさん
2008/03/28(金) 21:16:55「、」「。」の後にスペースが入らないのは当然だが、
英語のように、単語間にスペースが入る言語(確かインド=ヨーロッパ語族とかいう奴)から来てる「!」「?」とかは、
そのあとにスペースを置くのが決まりっぽい
まあ日本で使われて久しく既に日本語の一部みたいなもんだから、気にすることもないんジャマイカ
例外も多々あるし
HSP関係ねーな
0740デフォルトの名無しさん
2008/03/28(金) 21:39:10それよりかぎ括弧閉じる前に句点置く奴は後頭部を打ち抜く
0741デフォルトの名無しさん
2008/03/28(金) 21:48:09へー 勉強になるなー
0742デフォルトの名無しさん
2008/03/29(土) 14:03:05for x,1,10,1
x = x +0.5
mes x
next
repeat 10
mes cnt+0.5
loop
どちらのループでも、表示されるメッセージでは小数点以下が切り捨てられてしまいます。
ループの回数を表している変数(上の例ではxやcnt)を実数の数式に用いたい場合は
どうしたら良いのでしょうか。
0743デフォルトの名無しさん
2008/03/29(土) 14:05:19最初のループの内容が少し変でした。
x=x+0.5
ではなく、
y=x+0.5
として
mes y
でした。
0744デフォルトの名無しさん
2008/03/29(土) 14:24:08for x,1,10,1
y = double(x) +0.5
mes y
next
repeat 10
mes double(cnt+0.5)
loop
0745デフォルトの名無しさん
2008/03/29(土) 14:47:01勉強になりました。 ありがとうございます。
0746デフォルトの名無しさん
2008/03/29(土) 19:44:330747デフォルトの名無しさん
2008/03/30(日) 00:57:200748デフォルトの名無しさん
2008/03/30(日) 01:28:070749デフォルトの名無しさん
2008/03/30(日) 01:55:100750デフォルトの名無しさん
2008/03/30(日) 02:33:04それでも仕様書を一通りよんでそこそこ長いサンプルプログラムをみると
「こんな風に書いて動かしてるの?こんなに難しいの?」
って感じで想像もしないような書き方で動かしていて
時間をかけてソースを追っても中々理解が進みません
そのサンプルと全く同じものを自力で1から作ろうとしても
今の私のレベルでは到底できないです
本当は作りたいソフト(アイデア)がたくさんあるのですが
実現できそうになくて無念でなりません
0751デフォルトの名無しさん
2008/03/30(日) 02:43:120752デフォルトの名無しさん
2008/03/30(日) 12:40:56自分が作りたいソフトの一機能のサンプルになるような小さいものから
作っていって慣れていくしかないね。マニュアルに含まれてる「入門」は
読んだ?
0753デフォルトの名無しさん
2008/04/02(水) 06:17:13コンピュータが読める(コンパイルできる)こと以上に人が読めることが大切
インデントしたほうが人にとって読みやすいと思いません?
0754あみぢ厨
2008/04/02(水) 07:49:44\コンパイラ出来る/
0755デフォルトの名無しさん
2008/04/02(水) 22:03:010756デフォルトの名無しさん
2008/04/03(木) 11:42:110757デフォルトの名無しさん
2008/04/03(木) 17:45:37それを言うなら、「ギバップ」が正しいようです。
0758デフォルトの名無しさん
2008/04/03(木) 18:22:050759デフォルトの名無しさん
2008/04/03(木) 23:34:530760デフォルトの名無しさん
2008/04/04(金) 00:14:55実行速度がもう少し早ければかなり実用的なのに
0761デフォルトの名無しさん
2008/04/04(金) 00:42:36ハードのスペックを標準的なクラスまで上げれば?
0762デフォルトの名無しさん
2008/04/04(金) 00:52:530763デフォルトの名無しさん
2008/04/04(金) 01:35:080764デフォルトの名無しさん
2008/04/04(金) 02:10:331時間以上ググッたりしましたが分かりませんorz
0765デフォルトの名無しさん
2008/04/04(金) 10:38:03使い方が間違っているといわざるを得ない
0766デフォルトの名無しさん
2008/04/04(金) 12:05:200767デフォルトの名無しさん
2008/04/04(金) 13:54:57keybd_eventじゃアクティブの窓にしか効かないし・・・
0768デフォルトの名無しさん
2008/04/04(金) 14:28:58aplkeyはどうか?
0769デフォルトの名無しさん
2008/04/04(金) 20:36:19いや、aplkeyの方だろ?
0770768
2008/04/04(金) 20:37:020771デフォルトの名無しさん
2008/04/04(金) 20:38:140772あみぢ厨
2008/04/04(金) 21:45:25どんなシステムを作りたいのかが先だと思います。。
HSPでそれが実現できないなら、別環境にGOってだけかと・・・。
0773デフォルトの名無しさん
2008/04/04(金) 22:12:340774デフォルトの名無しさん
2008/04/04(金) 23:05:140775デフォルトの名無しさん
2008/04/04(金) 23:26:04だったら…
awaitを使えばいいじゃん!
0776デフォルトの名無しさん
2008/04/05(土) 00:29:580777デフォルトの名無しさん
2008/04/05(土) 06:04:00ただ早ければもっと使えるってだけだろ
0778デフォルトの名無しさん
2008/04/05(土) 08:37:140779デフォルトの名無しさん
2008/04/05(土) 13:27:59デフォルト引数って使えないのかな?
例えばint型をhsp側で省略すると、0が渡されてるみたいだけど。
0780デフォルトの名無しさん
2008/04/05(土) 13:35:450781デフォルトの名無しさん
2008/04/05(土) 14:14:42ありがとうございます。hsp側で設定でやってみます。
0782デフォルトの名無しさん
2008/04/06(日) 13:18:590783あみぢ厨
2008/04/06(日) 13:29:41クラスみたいな事が出来るならともかく、
アドレスぶち込んでおく領域を定義出来ない時点で、
構造体だけ用意できても意味がなくね?
0784デフォルトの名無しさん
2008/04/06(日) 14:23:550785デフォルトの名無しさん
2008/04/06(日) 17:57:00コマンドを代入してある変数を使いたいのですがどうすればいいでしょうか?
0786デフォルトの名無しさん
2008/04/06(日) 19:01:09なんでしょうか?
例えばNet-Ballのような波をうつもの、キャラを同時に複数動かす、
3Dポリゴンとか難しいと思いますが
他にはどういったものがあるんでしょうか?
0787デフォルトの名無しさん
2008/04/06(日) 19:17:15人工知能。最適化問題。
0788デフォルトの名無しさん
2008/04/07(月) 15:11:00やっぱユーザーは中高生や初心者だからそれなりのアプリは出てこないな。
ABはHSPなんかとは比較にならないくらい難しいし資料少なすぎだし。
0789デフォルトの名無しさん
2008/04/07(月) 15:39:500790デフォルトの名無しさん
2008/04/07(月) 20:21:47決まってるだろ。API使うには構造体が使えんと話になんねー。
0791デフォルトの名無しさん
2008/04/07(月) 20:48:39特殊なフォントを使った場合って、そのフォントをパックするなり同梱するなりするの?
HSPについてってよりフォントそのものについての疑問に近い気がするけど・・・
例えば、どっかからAというフォントをDLしてきて、俺のPCにいれる。
で、そのフォントを指定してHSPで色々表示するスクリプトつくる。exeにして配布。
DLして俺の作ったアプリを動かす人のPCにAというフォントは入ってない、するとどうなる?的な。
根本的に物凄く的外れな事言ってるかもしれないけど、フォントそのものについて調べても
欲しい情報が全く出てこんかった。
俺が何を疑問に思ってるのかわかったら答えておくれ・・・
0792デフォルトの名無しさん
2008/04/07(月) 20:52:390793デフォルトの名無しさん
2008/04/07(月) 21:31:40一番無難なのはマニュアルに
こっからAというフォントDLしてくれって書くことじゃないかな
まあ、極力MSゴシックみたいにどのPCでも入っているフォントを使うか
あるいは画像にして使うか(この場合はフォントの利用規約によるかと)
相手のPCにそのフォントがない場合は sysfont 0 のフォントが使われるはず
0794デフォルトの名無しさん
2008/04/07(月) 22:30:04今でも十分なサイズの変数用意して適切に値をセットすれば
構造体としてAPIに渡せるぞ
0795デフォルトの名無しさん
2008/04/07(月) 22:53:35それが面倒じゃねーか。
構造体使えたら楽。
後HSPじゃコールバック関数は作れんから、
そういうのを引数として呼び出すAPIも使えん品。
0796デフォルトの名無しさん
2008/04/07(月) 23:32:55それなら、全部Cとかで作った方がいいw
0797デフォルトの名無しさん
2008/04/08(火) 04:05:240798デフォルトの名無しさん
2008/04/08(火) 14:02:00終了するときに不正処理が起こってしまいます。
es_screenやes_mesなど基本的な命令しか使ってなくても起こる現象なので、
どうも仕様っぽいのですが、みなさんはどう解決されてるのでしょうか?
0799デフォルトの名無しさん
2008/04/08(火) 14:10:14es_bye入れてる?
0800デフォルトの名無しさん
2008/04/08(火) 14:48:17#include "hspdx.as"
es_ini
es_screen 256,224,8,4
gmode 2
*main//メインループ
es_cls
pos 10,10 : color 255,255,255 : es_mes "AAA"
es_sync 10
await 1
getkey a,27 : if a=1 { es_bye : end } //ESCで終了
goto *main
0801デフォルトの名無しさん
2008/04/08(火) 14:55:05とりあえず、ウチだとそのコードではエラー出ないね@HSP3.1
念のため、HSP再インスコしてみるとか。
0802デフォルトの名無しさん
2008/04/08(火) 15:28:41旧バージョンの2.61だと大丈夫だったので、
エディタが使い辛いけどこっちで作ろうかと思います。
0803デフォルトの名無しさん
2008/04/08(火) 15:59:07持ってないのでわからんけどw
0804デフォルトの名無しさん
2008/04/08(火) 16:17:04> 後HSPじゃコールバック関数は作れんから、
> そういうのを引数として呼び出すAPIも使えん品。
ちょくと氏のプラグインでできるんじゃね?
0805デフォルトの名無しさん
2008/04/08(火) 19:51:22ま、どうでもいいけどな。
俺HSPなんて使ってねーし。
0806デフォルトの名無しさん
2008/04/08(火) 20:29:41がんばれば使えるようになるよ。
簡単にあきらめないで!
0807デフォルトの名無しさん
2008/04/08(火) 22:53:44いや、あんな遅いもん使う気しねー。
Cで十分!
0808デフォルトの名無しさん
2008/04/08(火) 23:28:330809デフォルトの名無しさん
2008/04/09(水) 00:33:12いや、あんな遅いもん使う気しねー。
アセンブラで十分!
って言ってほしいのかい?
0810あみぢ厨
2008/04/09(水) 00:36:240811デフォルトの名無しさん
2008/04/09(水) 10:53:11sdim s,1000
hoge s で渡して、
C側で、
int hoge( char *s )
で受けたポインタを使って内容書き換えてもHSP側で反映されないのは何故なんでしょうか?
0812811
2008/04/09(水) 11:10:45sdim s,1000
hoge s
int hoge( PVal *pval )
char *s = pval->pt;
とりあえず、これでいいのかな?
自己解決か?
0813811
2008/04/09(水) 12:01:41>>811の場合は、メモリのコピーが渡されてるんでしょうか?
で、連続した領域が確保されてることが保証されてるんでしょうか?
>>812の場合も、連続した領域は保証されてるんでしょうか?
0814デフォルトの名無しさん
2008/04/09(水) 15:17:55渡されるのはおそらくはHSP内のバッファのポインタ。
変数の内容を書き替えたい場合は
文字列型でも数値型でも var を使う。C側は int hoge( char *s ) でいい。
dimやsdimで確保すれば連続してる。
確保していない変数は連続していないかも知れない。
0815デフォルトの名無しさん
2008/04/09(水) 18:47:28ありがとうございます、varでできました!
連続した領域に関してはちょっと良く分かりませんでしたが、
HSP2だと多元配列も連続したメモリになるってことなのかな。
HSP3だとポインタのポインタってことで。
0816791
2008/04/09(水) 19:43:49>>793
レスありがとん。
うーん、なるほど。実際的な問題についてはわかったし、疑問も解けたと思うんだけど
ちょと確認だけさせておくれ。
規約でおkだという前提で、フォントのファイルそのものを作ったスクリプト(配布ファイル)に組み込むというか
所謂普通のフォントのインストールをせずに使用するってのは無理って事よね・・・?
普通に普段ゲームとかアプリとか使ってて、(自分のPCには入ってないであろう)変わったフォントで
表示されたりするから、そういう事は出来るのかなぁと思ったんだけど。
まさか全部画像なんじゃろか。
0817デフォルトの名無しさん
2008/04/09(水) 21:33:21"filename"の部分に変数を使いたいのですがどうすればよいでしょうか?
0818デフォルトの名無しさん
2008/04/09(水) 21:35:56temp="filename"
exec temp,p1,"command"
0819デフォルトの名無しさん
2008/04/09(水) 22:52:43見てなくてもどっちでもいいけど
naznyark氏が作ったhpi_exprogctrlプラグイン。
http://www.vector.co.jp/soft/win95/prog/se432910.html
これで一応関数ポインタというのが使用できるようになる。
0820あみぢ厨
2008/04/10(木) 00:08:1264bitWinOSでも、とりあえず動くのでしょうかーッ!?><
0821デフォルトの名無しさん
2008/04/10(木) 00:21:07ところでDevMLのあの馬鹿何とかして
どう考えても厨房(もしかしたら消防かも)としか思えん言動だ
0822デフォルトの名無しさん
2008/04/10(木) 00:28:27DevMLってなに
0823デフォルトの名無しさん
2008/04/10(木) 00:39:540824デフォルトの名無しさん
2008/04/10(木) 01:02:41「HSP フォント インストール」
でググったらこんな記事見つけたが
ttp://fs-cgi-basic01.freespace.jp/~hsp/ver3/hsp3.cgi?print+200701/07060023.txt
0825デフォルトの名無しさん
2008/04/10(木) 07:23:48HSP2用のものしかないし
0826デフォルトの名無しさん
2008/04/10(木) 08:53:290827デフォルトの名無しさん
2008/04/10(木) 18:37:15チベットに自由を!
0828デフォルトの名無しさん
2008/04/10(木) 21:05:14中国に核弾頭落とせばいいんじゃね?
0829デフォルトの名無しさん
2008/04/11(金) 14:03:04サブルーチン実行中にボタンを押したらメインルーチンに戻る、というのは
どう書けば良いのでしょうか。
以下のような流れに書くと「サブルーチン外のreturnは無効です」となってしまいました。
*main
gosub *sub
wait 50
goto *main
*sub
button goto "END sub",*end_sub
stop
*end_sub
return
0830デフォルトの名無しさん
2008/04/11(金) 14:33:420831デフォルトの名無しさん
2008/04/11(金) 16:09:12(HELPから引用)
>マウスでボタンをクリックすると、*labelで指定した場所にプログラムの制御が移ります。
>button gotoと記述した場合は、ラベルにジャンプ。button gosubと記述した
>場合は、 ラベルにサブルーチンジャンプを行ないます。
ということだから
この場合のbutton goto先(*end_sub)では、
*mainからgousub *subした分のサブルーチンネストはクリアされている状態というか。
下記と同じ状態になって、エラーになっているのだと思われ。
goto *end_sub
*end_sub:return
button命令では、飛び先は別のプログラムとして起動する、くらいに認識して
書き直したほうが良いのではないかと。
そもそも
サブルーチン内でstopして待ち受ける形に無理があると思う。
*main
gosub *sub
wait 50:goto *main
*sub:button gosub "END sub",*end_sub
repeat:wait 0
if flag:flag=0:return
loop
*end_sub:flag=1:return
0832デフォルトの名無しさん
2008/04/11(金) 18:25:42#define WM_KEYDOWN 0x0100
oncmd gosub *KeyDown,WM_KEYDOWN
*main
stop
*KeyDown ;キーが押された時の処理
mes "KeyDown"
return
こう。
0833デフォルトの名無しさん
2008/04/11(金) 18:26:23↑は忘れてくれ。
0834デフォルトの名無しさん
2008/04/11(金) 19:24:21レスありがとうございます。 大変参考になりました。
ボタンジャンプ先でreturnを実行するのを止めることにします。
お蔭様ですっきりしました!
0835デフォルトの名無しさん
2008/04/12(土) 11:55:53今のウィンドウが、screen/bgscr/bufferのどれで初期化されたとか、
初期化した画面モードって取得できる?
0836835
2008/04/12(土) 13:40:14画面モードは一部しか分からんかったけど。
0837デフォルトの名無しさん
2008/04/12(土) 14:32:590838デフォルトの名無しさん
2008/04/16(水) 03:17:19HSPでやった方が早いんじゃね?と思い立った。
そこで質問なんだけど、bmpでスクリプト実行中の画面を画像保存する命令ってある?
出来れば画面全体より座標で指定できるとさらに嬉しい。
0839デフォルトの名無しさん
2008/04/16(水) 04:48:280840デフォルトの名無しさん
2008/04/16(水) 19:17:27「ドット絵ツール」のことか?
「アイコンエディタ」で検索してもあんま良いのはないな。
0841デフォルトの名無しさん
2008/04/16(水) 23:49:45どのプラグインを使うのが組みやすいでしょうか?
0842デフォルトの名無しさん
2008/04/17(木) 22:05:300843デフォルトの名無しさん
2008/04/17(木) 22:23:01repeat:loop
0844デフォルトの名無しさん
2008/04/17(木) 22:55:24HSPらしく*foo : goto *fooぐらい思い付けよ
0845デフォルトの名無しさん
2008/04/18(金) 09:19:28NumLock を点滅させることや、メモ帳に入力することはできるようになったのですが、
なぜかお目当てのゲームでは反応がありません。
API を使うのは初めてなので、あちこち意味不明で
何か根本的な勘違いをしている可能性もあり、原因がまったくわかりません。
とりあえず、一秒ごとに w を押すコードを書いたので、ここがおかしいなどあればぜひ教えてください。
#uselib "user32.dll"
#func SendInput "SendInput" int,int,int
#func MapVirtualKey "MapVirtualKeyA" int,int
dim input_struct,7,2
Key = $57
MapVirtualKey Key,0
scan_code = stat
input_struct(0,0) = $1,Key+(scan_code<<16),$1 ,0,0,0,0
input_struct(0,1) = $1,Key+(scan_code<<16),$1 | $2,0,0,0,0
repeat
SendInput $1,varptr(input_struct(0,1)),28
wait 50
SendInput $1,varptr(input_struct(0,0)),28
wait 50
loop
0846デフォルトの名無しさん
2008/04/18(金) 10:10:200848デフォルトの名無しさん
2008/04/18(金) 13:35:020849845
2008/04/18(金) 15:11:24#include "hspext.as"
aplsel "xxx"
aplact
wait 10
aplobj "",0
if stat != 0 : dialog "error" : end
repeat
aplkey 87
wait 100
loop
試してみたところ、if文のところで終わってしまいました。
一応if文を飛ばしても見ましたが、反応はありませんでした。
0850デフォルトの名無しさん
2008/04/18(金) 17:39:37if文っつーか、aplobj "",0の行無しではどうか?
あと、最初のaplsel "xxx"で、対象はキャッチできてる?
0851845
2008/04/18(金) 18:24:40aplobj "",0 コメントアウトしても相変わらず無反応です。
キャッチできてるかどうかですが、
aplact でアクティブになればキャッチできていると考えてもいいのでしょうか?
stat と refstr にも数値が入ってます。
0852デフォルトの名無しさん
2008/04/18(金) 21:52:11aplsel
成功:stat=0 refstr=正確なウィンドウタイトル
それ以外は基本的に失敗。
WinAPIで捕まえるって手もある。
0854デフォルトの名無しさん
2008/04/19(土) 12:08:310855デフォルトの名無しさん
2008/04/24(木) 12:35:45HSPで作成したexeがいわゆる標準出力にメッセージが出せなくて悩んでいます。
やりたいのは標準出力にメッセージを出力するコンソールアプリケーション(EXE)の作成です。
やったことは次のとおり
HSP 3.1
#runtime "hsp3cl"
#packopt runtime "hsp3cl"
mes "hello world"
でスクリプトを作成し、【起動時にメインウィンドウを非表示】をチェックしてexeファイル
を作成。
出来上がったexeを起動すると何も反応せず、ゾンビプロセスとなります。
なお、【起動時にメインウィンドウを非表示】をチェックしないとウィンドウが表示され
メッセージが表示されます。
よろしくお願いします。
0856デフォルトの名無しさん
2008/04/24(木) 12:43:05コンソールから起動しないからじゃないの?
0857デフォルトの名無しさん
2008/04/24(木) 12:45:00コマンドプロンプトから実行しています。
0858デフォルトの名無しさん
2008/04/24(木) 14:41:06それから「#runtime "hsp3cl"」があれば「#packopt runtime "hsp3cl"」はいらない。
#packopt runtimeは実行ファイル作成時にのみ有効で、#runtimeはエディタからの
デバッグ実行時にも指定したランタイムを使ってくれる。
あと#packopt runtimeを使う場合は、ランタイム名に拡張子が必須。#packoptは
自動作成用の命令なので、手動でexe作るときにはエラーが出ない。
0859デフォルトの名無しさん
2008/04/24(木) 14:45:10ただのウィンドウのやつになる。
たしかコンソール用exeにはアイコンが指定できなかったはず。。。
0860855
2008/04/24(木) 15:55:04上手くできました!
実行ファイル自動作成を行うとhsptmp.exeが出来上がり、それを実行すると
コンソールにメッセージが出ました。すばらしい。
貴重な情報ありがとうございました。
0861デフォルトの名無しさん
2008/04/27(日) 00:09:130862デフォルトの名無しさん
2008/04/27(日) 01:10:31出来る
どんでん返し
0863デフォルトの名無しさん
2008/04/27(日) 01:25:29どこの翻訳サイトを使っているのですか?
探しているのは、プラグインですか?
0864デフォルトの名無しさん
2008/04/27(日) 07:56:110865デフォルトの名無しさん
2008/04/27(日) 11:13:22高速なのはhgimg3
かな
0866デフォルトの名無しさん
2008/05/02(金) 07:29:290867デフォルトの名無しさん
2008/05/02(金) 15:05:030868デフォルトの名無しさん
2008/05/02(金) 17:40:090869デフォルトの名無しさん
2008/05/02(金) 17:42:270870デフォルトの名無しさん
2008/05/04(日) 20:51:33ポイント制だったら間違いなくポイント払いませんね
0871デフォルトの名無しさん
2008/05/05(月) 10:33:110872デフォルトの名無しさん
2008/05/05(月) 17:15:57したいんだけど、
mmplayで流す→mmstopで止める
だと、途中からじゃなくなるじゃん?
で調べたらmmplayとかじゃ無理って分かったんだけど
dmmplayとかmciの使い方よく分からないから
だれか教えて・・・
windowsXpね
0873デフォルトの名無しさん
2008/05/05(月) 17:34:580874デフォルトの名無しさん
2008/05/05(月) 18:29:35gooだったら4ポイント
よくわからないからプライスレス。
どれも買えねーよwマスターカード
0875デフォルトの名無しさん
2008/05/05(月) 20:29:50ググレカス
0876デフォルトの名無しさん
2008/05/06(火) 00:58:020877デフォルトの名無しさん
2008/05/06(火) 14:14:59#modinit
sdim aaa,6
aaa = "pppppp"
return
#deffunc testa array a
b = "zzzzzzzzzzzzzzzzzzzzzzzzz"
mes a
memcpy a,aaa@ThisMod,6,0 ; 5bytes以上転送するとバッファオーバーフロー←ここがわかりません
; memcpy a,aaa,5,0 ; ThisModが必要
; memcpy a,b,3,0 ;エラーにならない
; memcpy a,b,17,0 ;エラーにならない
mes a ;上の転送が5bytes未満でも、aが壊れて表示されなくなる
return
#modfunc testb array x
testa x
return
#global
*main
sdim mojiretu,16
mojiretu = "0123456789ABCDEF"
newmod mmm,nnn
testb mmm,mojiretu
mes mojiretu ;上でaが壊れたときはこれも壊れる(参照渡しはうまくいっている?)
stop
すいません質問です。上記のような処理をすると9行目のところでバッファオーバーフローが起こってしまいます。
mojiretuもaaaもOFするようには思えませんし、bを使うケースでは2つともきちんと動くのですが、どこがまずいのでしょう……
0878デフォルトの名無しさん
2008/05/06(火) 14:36:48sdim aaa,6
0879デフォルトの名無しさん
2008/05/06(火) 15:26:39aaa@ThisModの中身は877が期待してる物とは別物
0880877
2008/05/06(火) 17:17:54>>878
そこは100でも255でも同じだったのです。
>>879
なるほどそういうことでしたか。変なポインタを渡してたんですね。
仕様を勉強し直します。
0881デフォルトの名無しさん
2008/05/07(水) 13:46:450882デフォルトの名無しさん
2008/05/07(水) 16:58:10通報しました
0883デフォルトの名無しさん
2008/05/07(水) 18:31:23どういう意味?
0884デフォルトの名無しさん
2008/05/07(水) 18:42:49hage
moge
て意味じゃね?ちなみにこれエラー
0885881
2008/05/07(水) 19:05:56マクロ内の改行の問題もだけど、そういうのが出来たら複数マクロ一括登録もできないかな?と思ったので。
#define init(%1) \
#define %1_get(%?) 〜\
#define %1_set(%?) 〜
みたいな感じで。
0886デフォルトの名無しさん
2008/05/07(水) 20:44:42なるほど、一種のクラス的な発想をマクロに見つけたのか
発想は良いけど言語が悪かったな
0887デフォルトの名無しさん
2008/05/10(土) 19:46:29#deffunc kurimati
repeat:stick key,0
if key&256 : break
wait 1:loop
return
*l11
#define くりまち kurimati
randomize
aadduu=rnd(100)+1;1~100
aa=1
if aa=1{
if aadduu<=20:mes "a":くりまち
if 20<aadduu<=50:mes "b":くりまち
if 50<aadduu<=90:mes "c":くりまち
if 90<aadduu<=100:mes aadduu+"c":くりまち
}
stop
こんな感じでつくると変数aadduuが20以下の場合a b c〜 と表示されて
それ以上の場合 b c 〜と表示されちゃう。
50以上でもcからにならないし、aだけやbだけで止まってくれない。
ifの中にif入れるのは無理ってわけでもなくて、2つまでとか決まってるの?
ものすごく微妙というか、なんでこんな仕様?って気がするんだけど。
0888デフォルトの名無しさん
2008/05/10(土) 20:12:29aadduuがどんな数字でも結果は必ず正になるぞ
0889デフォルトの名無しさん
2008/05/10(土) 20:16:510890デフォルトの名無しさん
2008/05/10(土) 20:18:58って書き方以外ダメなんだっけ・・・何か20<aadduu<=50っぽい書き方でいけた気がするんだけど・・・
>>888
20以上もしくは50以下、的な判定なのかな?
論理演算?だか自体は実はよくわかってないんだけど・・・。
且つにしたい場合で、なんかそんな感じの書き方なかったかなぁ。
前に&使わずにそんな感じでやった気がするんだけど・・・うーん
0891デフォルトの名無しさん
2008/05/10(土) 20:22:18それだけいけるよねぇ・・・あれー勘違いかなぁ。
それこそが自分が思い込んでる「20<aadduu<=50っぽいモノ」かもしれないか。
同じ条件をつくるスクリプトで別の20<aadduu<=50っぽい書き方なかったかなぁ
モヤモヤするー
0892デフォルトの名無しさん
2008/05/10(土) 20:25:54通常は、引き算して0以下を判定するよな。
0893デフォルトの名無しさん
2008/05/10(土) 20:28:20引き算して0以下を判定・・・どゆこと?
完全独学で初心者なもんで、もしかしたらすごく基本的な事知らずに
変な事してたのかも。
後学の為に教えてほすい。お暇ならば。
0894デフォルトの名無しさん
2008/05/10(土) 20:43:46�@0-2
�A3-5
�B6-8
の3種類に分けて処理するとする。
a=4 (←対象の数値を入れる。今回は例として4を入れる)
a-=3:if a<0{処理1}:goto *next
a-=3:if a<0{処理2}:goto *next (今回はここで引っかかる)
a-=3:if a<0{処理3}:goto *next
mes "aの値が範囲外":stop
*next
こんな感じ。
0895デフォルトの名無しさん
2008/05/10(土) 20:55:53減算値は今回は全て3だけど
�@0-4
�A5-6
�B7-8
なら、順番に5、2、2と引けば範囲を変えれる。
最小チェックと最大チェックをしっかりすれば、比較を一度も行わずに条件分岐させれる。
16bit時代のプログラミングじゃ当たり前だったんだが
今の時代はそんなの気にしなくてもいいからいいよなぁ。
0896デフォルトの名無しさん
2008/05/10(土) 22:40:10今のHSPでもそういう風にやる人が多いのかな・・・?
自分は感覚でわかりやすい&とか使う方でいいかなまだ('A`)
0897デフォルトの名無しさん
2008/05/10(土) 22:46:53こういう方法もあるんだ、という事を覚えておけばOK。
0898デフォルトの名無しさん
2008/05/11(日) 00:08:24俺が知る限りそんな書き方出来る言語は一つもないが…
0899デフォルトの名無しさん
2008/05/11(日) 00:13:07まぁ、hspの場合は、論理演算じゃなくてビット演算だからな。
0900デフォルトの名無しさん
2008/05/11(日) 00:17:06ttp://ja.wikipedia.org/wiki/Icon%E8%A8%80%E8%AA%9E
ttp://jp.rubyist.net/magazine/?0014-Legwork
0901デフォルトの名無しさん
2008/05/11(日) 01:57:41見てみたけど分けわからんなこれw
ジェネレーターってなんじゃいww
意味不明だしwww
0902デフォルトの名無しさん
2008/05/11(日) 12:21:57つ Fortress
0903デフォルトの名無しさん
2008/05/11(日) 18:35:55#module
#deffunc rf int j, local i
i = j : if i == 0 : return
i-- : rf i : return
#global
rf 125 : stop
; rf 125 ok
; rf 126 終了後エラー
; rf 200 スタック領域のオーバーフローというエラーメッセージが出る
0904デフォルトの名無しさん
2008/05/11(日) 19:05:06自前でスタックを作って再帰廻してみたら、何これ浅い!とかオモタ記憶がある
100階層も潜れればたいてい何でもできね?
0905デフォルトの名無しさん
2008/05/11(日) 19:15:41クイックソートはムリポ
0906デフォルトの名無しさん
2008/05/11(日) 19:33:52それはソートクイックソート!
て組んだことないけど100回も潜るのか
まあ元の並びによっては行くか
簡単な木の探索でもするのかとおもた
0907デフォルトの名無しさん
2008/05/11(日) 20:06:3332回以内には終わると思うけど・・・どうだろうね。
0908デフォルトの名無しさん
2008/05/11(日) 20:20:45処理の再帰の深さが決まっていて絶対にその範囲で終わるってのが分かってるなら別にいいんだけど。
0909デフォルトの名無しさん
2008/05/11(日) 20:30:160910デフォルトの名無しさん
2008/05/11(日) 22:22:00積極的に再帰を使うような言語じゃないんだろう
0911デフォルトの名無しさん
2008/05/11(日) 22:34:050912デフォルトの名無しさん
2008/05/12(月) 23:20:52loop命令だとたしかダメだったよね
0913デフォルトの名無しさん
2008/05/12(月) 23:34:53出ねーよ。
そもそも、switch,for,do,while等のマクロはすべてgoto
を使って実装してるからな。
0914デフォルトの名無しさん
2008/05/12(月) 23:48:13さんくすー。これで安心してすすめられる
0915デフォルトの名無しさん
2008/05/16(金) 06:03:12ラベル名を変えても同じエラー。
しかもこのエラー、調べてもまったくといっていいほどヒットしない。
error 7を含むと7件、HSPを含むと100件ちょい。
どういうこっちゃ
0916デフォルトの名無しさん
2008/05/16(金) 09:52:080917デフォルトの名無しさん
2008/05/16(金) 14:43:24事故解決ぅうぅう!しちゃった。
なんか、gotoでとばしてるラベル名だったのが駄目だったみたい。
そこを一致させないと大丈夫という、意味不明なというかどっちみち使えない。
無理矢理他の方法で同じ処理になるようにしたけど。
状況によってgoto使っちゃダメとかあるのかな。
0918デフォルトの名無しさん
2008/05/16(金) 18:33:270919デフォルトの名無しさん
2008/05/16(金) 20:10:37日本語で話せよ。日本語で。
0920デフォルトの名無しさん
2008/05/17(土) 07:39:24gotoの後の*×××とラベルの×××と一致した内容でダメだったんだろ?
一致させなきゃいいが、一致させないとgotoが意味成さんし。
まぁ頭の悪いヤツは自分が頭悪い事に気づきもせず他人に阿呆とか言うからな・・・
もしかして(俺は)頭悪いな。(人の)言ってる事が理解できない。なんだろうか。
で、どういう状況だとそんな事になるかは、知らない。聞いたことないな。
推測だが、他の方法でいけるような場合ってところがミソなんじゃない?
どんな使い方してたのか見てみたい。
0921デフォルトの名無しさん
2008/05/17(土) 08:18:24goto *××× ;error 7 : ラベル名はすでに使われています
*×××
0922デフォルトの名無しさん
2008/05/17(土) 09:56:010923デフォルトの名無しさん
2008/05/17(土) 17:20:36>自己解決しました。
>gotoの引数のラベル名が既に使用している変数とかぶっていたのがダメだったようです。
>それを一致させなければ大丈夫なのですが、意味不明でどのみち使えません。
>他の方法で同じ処理になるようにしましたが。
>状況によってgoto使ってはいけない場合などがあるのでしょうか。
いまだに3行目の意味がわからん。
変数で使用していないラベル名を付ければいいだけじゃん。
0924デフォルトの名無しさん
2008/05/17(土) 19:20:180925デフォルトの名無しさん
2008/05/17(土) 23:42:42つーか920=917だろ。自作自演乙
0926デフォルトの名無しさん
2008/05/18(日) 11:43:55読めば読むほど気持ち悪くなる文章だな。
精神を病んだ人の描いた絵をみるような気持ち悪さというか。
使っている単語が、ことごとく不適当
(単語の意味を誤解したまま使っている)
なのが原因ではないか?と思ったが・・・違うか。
0927デフォルトの名無しさん
2008/05/18(日) 12:02:20>もしかして(俺は)頭悪いな。(人の)言ってる事が理解できない。
こういう、括弧を使った喋り方とか、
>で、どういう状況だとそんな事になるかは、知らない。聞いたことないな。
こういう独特な言い回しが、怖いよね。
0928デフォルトの名無しさん
2008/05/18(日) 13:52:47>p1で指定する変数には、読み出すのに十分なバッファを確保
って書いてあるけど、自動で確保されないの?
0929デフォルトの名無しさん
2008/05/18(日) 14:43:190930デフォルトの名無しさん
2008/05/18(日) 16:02:11されてるな。マニュアルが更新されて無いだけか?
0931928
2008/05/18(日) 19:49:130932デフォルトの名無しさん
2008/05/20(火) 06:13:55さすがにアレでは大変だと気づき始めたけど、テキストエディタなんて
どんなのがいいのかサッパリだ
0933デフォルトの名無しさん
2008/05/20(火) 06:43:000934デフォルトの名無しさん
2008/05/20(火) 12:00:333.xには対応してないが。
Le.Antillaってやつをダウソしたことがあるが、かなり高機能だった。
0935デフォルトの名無しさん
2008/05/20(火) 14:56:13先生も同じ疑問を返してきた
0936デフォルトの名無しさん
2008/05/20(火) 22:52:34mci "open sample.mp3 alias abc"
mci "play abc"
stop
と書いて、とりあえず普通に再生だけをしてみようとしてみても
上手く動いてくれません。
どのように書けば再生ができるようになるのでしょうか…?
0937デフォルトの名無しさん
2008/05/20(火) 23:19:31コードそのまんまでこっちで試したけど普通に動いたので
ファイルが読み込めてないだけジャマイカ
ファイルのパスを確認するか、一度ソースを保存して
ソースと同一のフォルダにsample.mp3を置くと再生されると思う。
ただ、mmload+mmplayの方が手っ取り早い気もする。
0938デフォルトの名無しさん
2008/05/21(水) 01:01:200939デフォルトの名無しさん
2008/05/21(水) 15:46:580940デフォルトの名無しさん
2008/05/21(水) 17:28:36一度ソースを保存と言うのをしてみたら
動いてくれました。
ありがとうございます。助かりました。
0941デフォルトの名無しさん
2008/05/21(水) 18:10:400942デフォルトの名無しさん
2008/05/21(水) 19:38:120943デフォルトの名無しさん
2008/05/21(水) 21:28:12inputの第4パラメータ(入力する最大文字数の指定)が
2バイト文字だと無効になるのは仕様ですか?
0944デフォルトの名無しさん
2008/05/21(水) 21:31:23命令コードに2バイト文字は使えません
なでしこは別な
0945デフォルトの名無しさん
2008/05/21(水) 21:44:42input a, 100, 100, 使えません
使えるじゃん?
0946デフォルトの名無しさん
2008/05/21(水) 21:45:252バイト文字てのはinputに入力する文字のこと? だったら文字数制限は
ちゃんと有効になるぞ。バイト数じゃないぞ、「文字」数だ。
0947デフォルトの名無しさん
2008/05/21(水) 21:45:430948デフォルトの名無しさん
2008/05/21(水) 21:48:53ああそういう意味か
944のせいで命令引数うんぬんかと思っちゃった
0949デフォルトの名無しさん
2008/05/21(水) 21:51:180950デフォルトの名無しさん
2008/05/21(水) 21:55:232パラでもなく3パラでもなく4パラって時点で気づくべきだったすまん
0951デフォルトの名無しさん
2008/05/21(水) 21:57:05あ、本当だー!(汗
なんだよ、この文字数ってくくり方は〜!w
では、入力可能なバイト数での制限ってのは可能でしょうか?
0952デフォルトの名無しさん
2008/05/21(水) 21:58:41ごめんなさい。
0953デフォルトの名無しさん
2008/05/21(水) 22:02:54File=D:\DataFolder\sample.dat
という行のファイル名部分を test_sample.dat に変更する、という処理をしたいんですが、どうしたらいいのでしょうか?
メモリノートパッドで行ごと書き換えれば済むこと、というのはわかるのですが、
上記の行が何行目にあるのかを特定する方法がわかりません。
0954デフォルトの名無しさん
2008/05/21(水) 22:13:54入力されたデータを使う時にチェックするしかないんじゃないかなー。よく知らん。
0955デフォルトの名無しさん
2008/05/21(水) 22:14:08oncmdとかループで監視とかでアレするしかないかも
0957デフォルトの名無しさん
2008/05/21(水) 22:26:13ありがとう。
その方法で、がんばってみますゥ!
0958デフォルトの名無しさん
2008/05/21(水) 22:26:53行数分notegetを繰り返してすべての行のデータをチェックすればいい。
repeatを使えば、システム変数cntに何回目の繰り返しかが代入される。(1回目は0)
ヒットしたらその場で書き換える。
0959デフォルトの名無しさん
2008/05/21(水) 22:33:320960デフォルトの名無しさん
2008/05/21(水) 22:36:28あぁ…こんな単純なことだったのですね。
ありがとうございます。
テキストファイル書き換えるだけのプログラムに何日かけてんだ俺・・・orz...
0961デフォルトの名無しさん
2008/05/21(水) 22:40:12repeat notemax
a = noteget 変数, cnt
if instr(a, 0, "検索したい文字列") >=0 : 書き換え処理
loop
という感じですかね。
ありがとうございます。
0962デフォルトの名無しさん
2008/05/21(水) 22:46:44書き換え処理の後でbreakした方がいい…かな。
0963デフォルトの名無しさん
2008/05/21(水) 22:58:06了解です。
大した量じゃないので大きく影響はしないでしょうけど、
プログラムとしてそのほうがスマート(?)そうですね。
0964デフォルトの名無しさん
2008/05/21(水) 23:05:550965デフォルトの名無しさん
2008/05/21(水) 23:16:07目的のテキストを見つけて、その前のテキストと後ろのテキストで書き換え用の
テキストを挟んだものを保存すればいいから。
ところでnote系命令ってCRだけの改行かLFだけの改行のどっちかを
認識できなかったと思うけど不便だね。
0966デフォルトの名無しさん
2008/05/22(木) 17:45:100967デフォルトの名無しさん
2008/05/22(木) 18:06:32mes "HOGE"
screen 1, 800,600, 0, 100,100
こうすると、HOGEは消えてしまいますが、
ウィンドウの内容を維持したまま、ウィンドウの初期化サイズを変動させることは可能でしょうか?
0968デフォルトの名無しさん
2008/05/22(木) 18:31:01つ width
0969デフォルトの名無しさん
2008/05/22(木) 18:31:560970デフォルトの名無しさん
2008/05/22(木) 18:44:20概ね合ってるんじゃ。
コード的には
screen 0,1680,1050
width 640,480
mes "hoge"
await 3000
width 800,600
こんな感じ?
それが嫌ならbufferに描画して必要なサイズに初期化したscreenにコピーするとか。
0971デフォルトの名無しさん
2008/05/22(木) 18:54:260972デフォルトの名無しさん
2008/05/22(木) 18:56:09やっぱ初期化サイズは、想定される最大のサイズにしとかないとだめかねぇ。
1600x1200だとメモリ食いすぎる・・・。かといって毎回初期化→再描画だとチラツクし。
パレットモード以上にメモリを節約する方法ってある?
普通のWindowsアプリの空白(灰色)部分あるけど、あれはピクセル分メモリ食ってるんだろうか。
メモ帳の背景白色部分は?
0973デフォルトの名無しさん
2008/05/22(木) 18:56:36そこは違うタイプの改行コードを混用することはないと決め付けちゃっていいんじゃね?
CRLFと来たら一つ扱いで固定ってことで。それで最初に見つけたコードだけが使われてる
という仮定で決めうち。
確認してみたら、mesやnote系で認識できないのはLF(10)だった。当初はLinuxへの
展開なんて考えてなかったってだけの話かな。それともwin32apiがらみの話なのか。
Linux版のコードはどうなってんだろ。いつか調べてみよう。
0974デフォルトの名無しさん
2008/05/22(木) 19:00:32自分のモニタがWSXGA+なのでモウマンタイw
0975デフォルトの名無しさん
2008/05/22(木) 19:05:2932bit深度と仮定した場合、WSXGA+でも
1680*1050*32*3/8 = 7056000(Byte) ≒ 6.73MB
約7MB。
イマドキのPCのVRAM容量は128〜768MB。
来月2GBのVRAM容量を持つカードが出るらしいが
正直、フレームバッファ容量なんて気にしなくていいんジャマイカ
0976デフォルトの名無しさん
2008/05/22(木) 19:05:40> >>970
> やっぱ初期化サイズは、想定される最大のサイズにしとかないとだめかねぇ。
ちょっと話ずれるけど、昔のHSPはクライアント領域に直接描画せずにコモン
コントロール置いたりするだけなら、正直に確保する必要はなかった。
今は画面上に実際に表示されるサイズを確保しないとその大きさで表示できない
(リサイズできない)ようになっちゃった。
0977デフォルトの名無しさん
2008/05/22(木) 19:06:26えーそんな賢い仕様だったらヤダー!実装がアホでストレートな昔ながらのHSPがすき。
HSPて昔からMac版があった関係か知らんけど、13を改行として認識する命令が多い希ガス
0978デフォルトの名無しさん
2008/05/22(木) 19:13:41本家が「お子様天国」化してるからかな?w
0979デフォルトの名無しさん
2008/05/22(木) 19:26:18躊躇してしまうな。
気がついたらいつのまにか本家は避けるようになってしまっていたw
0980あみぢ厨
2008/05/22(木) 19:29:000981デフォルトの名無しさん
2008/05/22(木) 19:32:34まあがんがって自己解決してくれ。
0982デフォルトの名無しさん
2008/05/22(木) 19:32:54マルチモニタ環境とか想定して、デスクトップ全体分確保しようとすっと、
2880x1200とかいっちゃうんで。んで読み込んだ画像の数だけ確保するからえらいことに。(作ってるのは画像ビューワ)
んで半年ぐらい前にこのスレだかで助言を受けて、パレットモードの大ウィンドウと描画領域の32bitウィンドウをSetParentする方法をやってみた。
これは効果てきめんで、メモリ消費量が2/3ぐらいになた。(32bit->8bitだから当然)
ただし、画像を拡大縮小するときに子ウィンドウサイズが変わるんだけど、このときにウィンドウ初期化→画像転写するからチラつく。
初期化→転写の間の描画は redraw 0 じゃ止められないし・・・。
最近は描画しない領域はパレットモードですら勿体無いような感じがしてて模索中。
>>976みたいなウィンドウをAPI叩いて作ればいいんかいねぇ。世の画像ビューワはどうやってメモリ節約してるのか。
0983デフォルトの名無しさん
2008/05/22(木) 19:43:40画像ビューワが実際に何をどうしてるのかは知らないけど
マモリマップドファイルでやれば実メモリを消費せずにファイルにアクセス出来る。
HSPからメモリマップドファイルは…クラスが使えないから少し扱いにくいと思うけど
不可能では無いと思う。
0984デフォルトの名無しさん
2008/05/22(木) 21:02:27本家に書き込まないってのもあながち間違いではないとおもう
0985デフォルトの名無しさん
2008/05/22(木) 21:44:50「wait20回の謎」対策として…
repeat 20 : await 1 : loop を実行しても
キー検出(終了)をしないのはどうしてですか?
2.xの頃は、これで検出してくれてたと思うんですが…。
0986デフォルトの名無しさん
2008/05/22(木) 21:48:21とエスパーしてみる
0987デフォルトの名無しさん
2008/05/22(木) 21:54:40repeat 20 : await 20 : loop や
repeat 20 : wait 10 : loop でもダメなんですゥ〜
0988デフォルトの名無しさん
2008/05/22(木) 22:01:02入力を監視するなら、WMでキー入力とマウス入力を監視すれば?
正直、repeat:〜:loop内で何してるのか分かんない。
そのままのコードだとウェイトかけてるだけだし。
0989デフォルトの名無しさん
2008/05/22(木) 22:05:120990デフォルトの名無しさん
2008/05/22(木) 22:12:31小中学生のユーザに丁寧に付き合ってあげられるならいいけど、
自分はちょっと余裕ないなー。
0991デフォルトの名無しさん
2008/05/22(木) 22:14:01「wait20回の謎」とは、この事です。
HSPで作成されたスクリーンセーバーは、起動直後すぐにマウスの動きや
キーの検出をして終了してしまうと都合が悪いため、しばらくの間は
終了のための検出を行わないようになっています。
具体的には、waitoやawait命令が20回以上実行されないと
検出が始まらないようになっています。
で、私が作ってるスクリーンセーバーは、メイン画面で動的な処理をせずに
画像を表示するだけなので、スクリプトの中にwaitやawaitが無いんです。
なので、毎回、Alt+F4 で終了しなくちゃならないんですゥ〜w
0992デフォルトの名無しさん
2008/05/22(木) 22:21:100993デフォルトの名無しさん
2008/05/22(木) 22:26:52そうなのか。
スクリーンセーバーは作った事ないから分かんなかった。正直スマン。
で、スクリーンセーバーって何か特殊な作り方しなきゃいけないの?
イメージ的には、通常アプリがWindowsから呼び出される感じなんだけど。
画面のサイズを取得して、同一のサイズでCreateWindowして最前面に配置。
メインループ内で、キー入力とマウス入力のWMを監視。マウスの移動はマウスの位置を監視…
とかじゃダメ?
0994デフォルトの名無しさん
2008/05/22(木) 22:37:560995デフォルトの名無しさん
2008/05/22(木) 22:40:26【スレ番】HSP初質P55【修正】
http://pc11.2ch.net/test/read.cgi/tech/1211463465/
0996デフォルトの名無しさん
2008/05/22(木) 22:52:40oncmd 0が利くのって最初にoncmdされたメッセージ1つだけじゃなかったっけ
0997あみぢ厨
2008/05/22(木) 23:35:040998デフォルトの名無しさん
2008/05/23(金) 00:04:12ネット上でユーザーが自由にグループを作成して、
そのグループのメンバーのところに同じ曲が流れるという仕組みです。
<動作>
1.起動すると、自分が属しているグループの全曲リストを更新。
2.その中から聞きたい曲をチョイス。
3.すでに曲が流れている場合には、自分の選択した曲がグループのキューに溜められ、順に演奏される。
4.自分の持ってないファイルの曲が演奏される場合、持っているユーザーから自動的にDLして演奏する。
<機能>
○キューリミット機能
数十数百という常識外れの曲数を登録する嵐的な輩への対抗策。
そのグループ内において、キューに溜められる曲数を1〜20の間で設定できる。
○グループ認証機能
グループに入る場合に、グループ作成者やメンバーの認証を行う機能。
○評価機能
演奏中の曲を停止できるのは基本的にチョイスした人のみだが、
評価機能は、グループメンバーの中の何人か(パーセンテージ、絶対人数)が『却下』的な評価を
下した場合に直ちに演奏が中止される。
○評価機能2
評価は記録され、グループ内のメンバー一覧等で各々の評価を見ることができる。
嵐の評価は基本的に低くなるはずなので、警戒できる。
<応用>
・ネットラジオ的なものも作れる。
<課題>
グループの規模によっては曲ファイルの転送がかなりのトラフィックになることが予想されるので、
圧縮転送、及び鼠算的転送(※1)も実装する必要がある。
※1・・・1人が2人以上に転送する機能。例えば1人がn人に転送する場合、5回の転送でn^5人への転送が可能となる。
これにより、曲ファイル1つに対して数千人規模のグループでも高速で共有できる。
0999デフォルトの名無しさん
2008/05/23(金) 00:11:111000デフォルトの名無しさん
2008/05/23(金) 00:14:4710011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。