【だからこそ】HSP初質P58【続けるよ】

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
災害で大変だけど、頑張ろうよ…

HSP初心者向けの質問専用スレッドです。
 ■とりあえずこれを嫁。
  http://www.geocities.jp/hsp_summary/law.html
  ■前スレ
  【まだ】HSP初質P57【いる?】
  http://hibari.2ch.net/test/read.cgi/tech/1258974378/
 ■HSPの入手はここから(HSP3.3β1)
  □HSPTV
    http://hsp.tv/
 ■HSPの各種情報
  □HSP Wiki
    http://quasiquote.org/hspwiki/
 ■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/
2デフォルトの名無しさん:2011/03/15(火) 14:51:37.45
( ^ω^)なんか、テンプレずれ捲りだな…
3デフォルトの名無しさん:2011/03/17(木) 15:22:12.52
誰も居ない(//∀//)
4デフォルトの名無しさん:2011/03/17(木) 18:20:25.06
みんな他の言語に旅立って行ったのだよ
5デフォルトの名無しさん:2011/03/19(土) 14:28:46.04
HSPか
懐かしいな…
6デフォルトの名無しさん:2011/03/20(日) 10:21:07.00
>>1
おつ!

つまり、メルトダウンって…
repeat 〜 loop 間に wait や await を入れないで動かしている状態ですか?
7デフォルトの名無しさん:2011/03/20(日) 16:43:46.59
だれもいないけど質問
hspファイルと同じフォルダに入れた画像ファイルをpicloadで呼び出しても
いざ実行したとき[画像ファイルがありません]とでました。考える原因はなんでしょうか?
8デフォルトの名無しさん:2011/03/20(日) 17:49:56.15
>>7
chdir dirinfo(0)
picloadn の直前に上記の1行を入れてもダメ?

状況がイマイチ伝わらないので…。
9デフォルトの名無しさん:2011/03/22(火) 20:46:20.21
>>5
懐かしいね
10デフォルトの名無しさん:2011/03/23(水) 21:44:43.98
VBからHSPに乗り換え〜

オブジェクトIDってstat使って変数に入れなきゃならんのかー

新鮮w
11デフォルトの名無しさん:2011/03/26(土) 01:08:43.35
>>7
まさかexe単体だけで動かしてるとか・・
12デフォルトの名無しさん:2011/04/07(木) 15:20:03.92
>>7
拡張子はいってる?
あと、
"C:/nanka/gazo.jpg"

"C:\\nanka\\gazo.jpg"
っていうふうに/を\\に変えないといけない
13デフォルトの名無しさん:2011/04/16(土) 15:26:51.27
使用するキーに関してですが
stick a,15
if a&1:x-=3
if a&2:y-=3
if a&4:x+=3
if a&8:y+=3
これだと矢印キーで移動することになると思うんですけど
これをWASDキーに置き換えるにはどうしたらいいんでしょうか?
getkeyだとアルファベット文字指定はできるようですが・・・
素人なので馬鹿な質問していたら申し訳ないです
14デフォルトの名無しさん:2011/04/16(土) 19:20:12.38
stickじゃあ出来んよ。
諦めてgetkeyを使え。
15デフォルトの名無しさん:2011/04/16(土) 20:29:31.91
もしくは、onkeyを使う方法なんてどう?
16デフォルトの名無しさん:2011/04/18(月) 09:04:59.79
エクセルのマクロだと、F8を押す毎に1行ずつプログラムが実行されていく
っていうのがあったんですが、HSPだとそういうのはできないですか?
17デフォルトの名無しさん:2011/04/18(月) 09:50:39.19
>>16
デバッグウィンドウの表示をONにして停止ボタンを押してプログラムを一時停止にしたら
次行ボタンで行毎に実行って事なら可能
スクリプトの頭から一時停止させるならassert使う
18デフォルトの名無しさん:2011/04/18(月) 12:39:43.02
>>17
出来ました
ありがとうございました
19デフォルトの名無しさん:2011/04/18(月) 19:56:27.21
ビープ音に関してですが

#include "kernel32.as"
beep 500,500

などとすると、鳴ってる間はそこで処理が止まっているようですが
止めない方法は無いでしょうか?
20デフォルトの名無しさん:2011/04/19(火) 10:47:43.34
APIの仕様だから無理
Swaveとかの波形合成ツールで似た音作ってmmplayで流すとかで代用するのが楽
21デフォルトの名無しさん:2011/04/19(火) 11:21:04.80
#include "d3m.hsp"
#uselib "ntdll.dll"
#func RtlInitUnicodeString "RtlInitUnicodeString" sptr,sptr
#func ZwCreateFile "ZwCreateFile" sptr,int,sptr,sptr,sptr,int,int,int,int,sptr,int
#func ZwDeviceIoControlFile "ZwDeviceIoControlFile" int,int,sptr,sptr,sptr,int,sptr,int,sptr,int
#func ZwClose "ZwClose" int
dim usDn,2
sdim Dn,16
cnvstow Dn,"\\Device\\Beep"
RtlInitUnicodeString varptr(usDn),varptr(Dn)
hFile=0
dim objAttr,6
objAttr=24
objAttr.2=varptr(usDn)
dim ioStat,2
ZwCreateFile varptr(hFile),3,varptr(objAttr),varptr(ioStat),0,0,3,3,0,0,0
dim opt,2
opt.0=500
opt.1=500
ZwDeviceIoControlFile hFile,0,0,0,varptr(ioStat),$10000,varptr(opt),8,0,0
s=d3timer()
mes "ピ"
while s+opt.1>=d3timer()
x+=ginfo_mesx
pos x,0
mes "〜"
await 50
wend
ZwClose hFile
22デフォルトの名無しさん:2011/04/19(火) 12:49:14.35
KeyHoleTVって最近知ったんだが、どういう仕組みなんだろうな。
そろそろ終了するみたいだけど。
2319:2011/04/19(火) 21:01:27.03
>>20
オーディオスピーカ無しでも鳴らせたかったので・・・

>>21
ありがとうございます
初心者なので意味はサッパリですが使うことはできそうです
24デフォルトの名無しさん:2011/04/29(金) 18:33:24.73
初歩的な質問です。
RPGでは、よく村人などのNPCが画面を勝手に動き回っていますが、
あのアルゴリズムは、>>13のようにキーを設定してから、
変数aに、1〜8までの数字をランダムに吐かせることで動かしているのでしょうか?
25デフォルトの名無しさん:2011/04/30(土) 02:12:57.87
HSPでandroidアプリが作れるようになるかもしれないとはすごいな
今でもCに変換してなんとかすりゃできるのかな
26デフォルトの名無しさん:2011/04/30(土) 10:59:08.07
>>24
思いついたならやってみればいいと思うよ
ついでに言っておくとプレイヤーキャラとNPCは同じルーチンで動かす事もできる
27デフォルトの名無しさん:2011/05/01(日) 00:31:01.43
箱を10個用意して、各箱に4種類づつリンゴを入れられる。
aの箱に何の種類を、個数を入れたか管理したいのですがどのようなプログラムを書けばいいでしょうか

aの箱
・リンゴ 5個
・青リンゴ 10個
bの箱
・リンゴ 5個
・青リンゴ 10個
合計 リンゴ:10 青リンゴ:20

みたいな感じのを作りたいのですが
28デフォルトの名無しさん:2011/05/01(日) 00:34:25.81
> 各箱に4種類づつリンゴを入れられる。

最大何個までとか、なんか条件がさっぱりわからんわ
29デフォルトの名無しさん:2011/05/01(日) 00:36:02.25
その辺ちゃんと説明できたら自然に解決する問題
30デフォルトの名無しさん:2011/05/01(日) 03:03:21.75
dim hako_a,4
dim hako_b,4
dim hako_c,4
dim hako_d,4
dim hako_e,4
dim hako_f,4
dim hako_g,4
dim hako_h,4
dim hako_i,4
dim hako_j,4
31デフォルトの名無しさん:2011/05/01(日) 11:13:29.48
リンゴが何種類あるのか判んないってのがポイントだな
32デフォルトの名無しさん:2011/05/01(日) 11:45:27.38
普通に
a(n*2,hako)=syurui
a(n*2+1,hako)=kosuu
でいいだろ
33デフォルトの名無しさん:2011/05/01(日) 11:48:07.83
どうして、リンゴなんですか?
ブドウじゃダメなんですか?
34デフォルトの名無しさん:2011/05/01(日) 18:28:10.70
もう一回まとめるわ俺の中でもわかんねえ
20個の箱を作りたい
でそのうち6個は上限2つ。5個は上限4つ。残りは上限3つ。
で中に入れるものは12種類ある。
箱の中身は○が何種類で□が何種類って感じに表示したい
35デフォルトの名無しさん:2011/05/01(日) 18:30:10.46
>>34訂正
誤:箱の中身は○が何種類で□が何種類って感じに表示したい

正:箱の中身は○種類が何個で、□種類が何個って感じに表示したい
36デフォルトの名無しさん:2011/05/01(日) 18:43:00.99
>>34-35
ぜんぜんまとまってねー!w

まず、20*12の変数を作れよ。
そこに、「入れる」の処理をしてから、
それぞれの和を算出すればできるだろ。
37デフォルトの名無しさん:2011/05/01(日) 18:51:45.71
>>34-35
"1"〜"20"までの箱を作る。
"1-6"は空きスロットが2個
"7-11"は空きスロット4個
"12-20"は空きスロット3個
この空きスロット(計59)にA〜Lまでの12種類をはめる。

表示は
"1"の中身はAが1つ、Eが1つ
"2"の中身はGが1つ、Lが1つ

みたいな感じの認識でおk?
38デフォルトの名無しさん:2011/05/01(日) 19:04:24.47
>>36みたいに全種類ごとの数を保持するか
種類と数のペアを十分な数だけ保持すればいい
39デフォルトの名無しさん:2011/05/01(日) 19:32:48.33
暇な奴ら…( ゚д゚)、ペッ
40デフォルトの名無しさん:2011/05/02(月) 22:20:23.43
簡単な当たり判定を付けようと思って、if (enex=shotx)and(eney=shoty):goto *game_stop
というような式を書き加えたのですが、弾が敵を素通りしていくだけで画面が停止しませんでした。
何がいけなかったのか、さっぱり分かりません。(*game_stopには、stopと書いてあります。)
41デフォルトの名無しさん:2011/05/02(月) 23:15:42.71
>>40
弾の大きさは?
敵の大きさは?

どちらも、1pxじゃないんでしょ?
42デフォルトの名無しさん:2011/05/03(火) 05:21:55.47
どうなの?
43デフォルトの名無しさん:2011/05/03(火) 08:19:44.29
おはようございます。
>>41
弾も敵も32×32ピクセルで書かれたものをgcopyで呼び出しています。
とすると、XYの座標となる左上端の1ピクセルしかないかもしれませんです・・・
44デフォルトの名無しさん:2011/05/03(火) 14:15:10.39
STGとかの背景の作り方が全くわからん
45デフォルトの名無しさん:2011/05/03(火) 14:16:07.63
スクロールするやつね
46デフォルトの名無しさん:2011/05/04(水) 01:16:38.63
comboxについての質問なんですが、選択肢の1つ目が選択されているとcomboxに指定した変数に0が代入されるんですよね

combox a,150,"a\naa\naa"
if a = 0 : b + 1
if a = 1 : b + 2
button "test",*test
stop

*test
mes b

if a=1で進めても表示される数字は1何ですがなぜでしょうか
47デフォルトの名無しさん:2011/05/04(水) 06:07:28.94
俺も今実行したら、全部1になりやがった
48デフォルトの名無しさん:2011/05/04(水) 06:22:30.57
プログラムって上から下にいくでしょ、aってのは、もともと0だから、その状態でifに行ってbが1になったんだと思う
だから実行した瞬間には既にa=0でb=1になってるって事じゃないかな?
49デフォルトの名無しさん:2011/05/04(水) 06:32:25.32
50デフォルトの名無しさん:2011/05/04(水) 17:16:49.87
>>46
こうだろ。

combox a,150,"a\naa\naa"
button "test",*test
stop

*test
if a = 0 : b + 1
if a = 1 : b + 2
mes b


つーかこれ何がしたいのかわからん。
51デフォルトの名無しさん:2011/05/05(木) 00:19:33.89
わからんね
52デフォルトの名無しさん:2011/05/05(木) 03:03:47.77
そりゃそうだ。
ばかだから、不要な部分と思わしき所を勝手に削除して、こちらから見れば当たり前だろ(゚д゚)バーカって言うソースに改竄してるんだから。

おまえら、暇か?
53デフォルトの名無しさん:2011/05/05(木) 12:10:38.31
暇です
54デフォルトの名無しさん:2011/05/05(木) 21:22:03.75
【今週のお題】

お暇でしょうか?
いいえ、○○です。
55デフォルトの名無しさん:2011/05/06(金) 22:58:41.58
あえてケフィア
56デフォルトの名無しさん:2011/05/07(土) 22:00:02.94
回答する側も一々ルール守れとか・・本家はマジで終わってるな。
なんで、あんなおこちゃまページにしたんだろうなデブ玉はw

あと、昔の掲示板のリンク本家から消してくんねーかな。
隠れ掲示板として使ってやっからよ


57デフォルトの名無しさん:2011/05/08(日) 11:15:20.88
一般掲示板と2chの区別も出来ない奴は2chだけに書き込んでりゃいいんだよ
58デフォルトの名無しさん:2011/05/08(日) 14:43:53.25
荒んでるなw
59デフォルトの名無しさん:2011/05/08(日) 16:24:51.20
ああ、つくづく俺はダメな奴だ・・・
シューティングゲームすら碌に創れねーとは・・・
60デフォルトの名無しさん:2011/05/08(日) 22:36:16.02
本家はとっくの昔に終わってる。
て言うか、HSP自体がもう終わって
61デフォルトの名無しさん:2011/05/08(日) 22:43:07.38
>>60
そこまでいわないでくれ
おにたまもC++変換がんばってるんだから
62デフォルトの名無しさん:2011/05/09(月) 02:45:39.84
バカばっかだから
言語の問題では無く、OSとのパラメータのやりとりの問題だと気づかずに、ネタ発言してるクソをいたぶってるのがのさばってるスレ
って事かな。
63デフォルトの名無しさん:2011/05/09(月) 10:59:23.14
Norton Internet Security 2011について
pcbnet2.hpiを利用したソフトをzipで圧縮、Lhaplusで解凍、ソフトを実行すると
Nortonが危険度が高いファイルと判定して削除してきます
「活動->2個の処理を実行しました。」の欄を見てみると「イベント:何も処理しませんでした」と書いてあります
何故か、zipの解凍にLhazを使ったら削除されませんでした
64デフォルトの名無しさん:2011/05/11(水) 03:40:55.72
>>63
それもさぁ、どっかのハッカー気取の厨房が
誰にでも作ろうと思えば作れる、しょっぱ〜いウイルスソフト作っちまったもんだからww
それからだったかなぁ 引っかかるようになったのはw

自慢げにインタビューに答えてたっけなwww

それもこれも、幼稚化を進めた・・(ry

65デフォルトの名無しさん:2011/05/11(水) 17:54:25.35
そんな過去が・・・
何人かのノートンユーザーにソフトを起動してもらって
ソフトが良好判定になるまで待つしかないな
66デフォルトの名無しさん:2011/05/11(水) 18:03:10.68
HSP厨はゲームが作れないんですか?
67デフォルトの名無しさん:2011/05/12(木) 23:55:06.01
>>43
この式だと、1ドット分の大きさでしか当たり判定しませんね。
abs関数を使って、たとえば

 hitx=abs(enex-shotx)
 hity=abs(eney-shoty)
 if (hitx<=32) and (hity<=32) :stop

みたいにするのはどうでしょう。
68デフォルトの名無しさん:2011/05/13(金) 19:07:56.67
>>67
やってみましたが、今回も何故か当たり判定はないままでした。なんでなんだろう・・・
ちなみに自分と敵がぶつかった場合には、if (enex=mx)and(eney=my):goto *game_stopでいけます。
もともと、そのプログラムは衝突判定や移動処理が簡単ということでゲーム座標というものを使って書いていました。
(mx=6:my=13、Gamedot=32、if keydata&1:mx--、pos mx*gamedot,my*gamedot)
というような感じで、自分と敵の動きを小さな数字で管理して表示するときに32ドットを掛けるやり方で書いていたですが
弾を撃つスクリプトでは、ゲーム座標が使われてない部分があるせいか?弾と敵と自分の当たり判定がうまくいってないみたいです。
でも、スクリプトを見る限りは弾は32ドットずつ動くように書いたつもりですし、プログラムを実行してみても
自分の指定したとおりにちゃんと動いてくれてるので、それなのにどうしてダメなのか不具合の原因がよく分からない訳です。
69デフォルトの名無しさん:2011/05/14(土) 01:49:17.54
キャラクタ間(自機,敵機,弾)の座標単位は統一したほうがよい
どうしても今のまま行くならやっつけ対応になるが
if (enex=shotx/32)and(eney=shoty/32):goto *game_stop
原因はenexが32分の1の値に対し、shotxの値が等倍の値だからだと思う
title "enex="+enex+",eney="+eney+",shotx="+shotx+",shoty="+shoty
とか入れてタイトルバーやデバッグウィンドウで調べてみるといい
70デフォルトの名無しさん:2011/05/14(土) 08:35:46.93
ゲーム座標を使うのをやめてドット単位に統一したら、おかげさまで
if (enex=shotx)and(eney=shoty):goto *game_stopで当たり判定でました。
いろいろアドバイスありがとうございました。
でも>>67のスクリプトでは、素通りしてました。
プログラムって何が上手くいくかわからないものですね・・・
71uy:2011/05/15(日) 03:00:02.74
ゲーム座標って何。なんか怖い
四角の当たり判定は
o = じき
e = てき 
if o.x < e.x + e.width && o.x + o.width > e.x &&
o.y < e.y + e.height && o.y + o.height > e.y
  
  あたり

end

だろ

ちなみによく当たり判定が素通りする原因として、
ショットや敵の、動くスピードに問題だったりする
当たり判定が小さいのに、移動速度が速すぎると素通りする
72デフォルトの名無しさん:2011/05/15(日) 17:05:39.06
おかげさまで、当たり判定がクリアできたのでゲームの大枠はほぼ完成しました。
入門書によりますと衝突判定が最後の1回だけだとキャラクターがすり抜けてしまう場合があるようで
全体に何回かgosub命令で呼ぶ必要があるようです。もっとも、redraw 0:color 0,0,0,:boxfの後の
まだ敵が描かれてないときに当たり判定がでてしまうと、それ以降に描写される筈だったものが描かれずに
すっ飛ばして終わってしまったりして、いろいろ面倒なことになっちゃってますが・・・
あと、思い通りにいかないことといえば、自分が想像していたものよりゲームが面白くなかったことでしょうか(笑)
73uy:2011/05/16(月) 03:12:28.43
こわい 怖い 怖い 怖い 怖い 怖い怖い 怖い 怖い 怖い怖い 怖い こわい 怖い こわい 怖い 怖い こわい 怖い怖い こわい ごめんなさい
74デフォルトの名無しさん:2011/05/17(火) 23:13:10.14
?
75デフォルトの名無しさん:2011/05/18(水) 19:24:29.53
なあ、HSPをネットブックでやっている人いる?10.1インチ以下の画面でさ
使い心地はどう?

やっぱり素直にノートPC買っとけというレベル?
76デフォルトの名無しさん:2011/05/19(木) 00:09:25.96
最低、ノート。
77デフォルトの名無しさん:2011/05/19(木) 18:46:18.01
HSPって
ウィンドウも出ずツールバーにも表示されずPC起動したそばから起動するツールって作れるの?
78デフォルトの名無しさん:2011/05/19(木) 20:28:46.60
>>77
うん、とても簡単に。
79デフォルトの名無しさん:2011/05/19(木) 20:41:13.65
スタンドアロンアプリが作れるだけで大満足です
80デフォルトの名無しさん:2011/05/20(金) 02:15:34.20
>>75
マルチステートメントだらけの1画面プログラムか7行プログラムをするのならいざ知らず、
ふつうにプログラム組むだけなら、全然問題ない。
81デフォルトの名無しさん:2011/05/22(日) 00:36:05.25
初質やネットで公開されてるスクリプトって、自由に使っても問題ないよね?
82デフォルトの名無しさん:2011/05/22(日) 02:19:35.90
>>81
ここに書かれたモノなら、大丈夫だろうけど…

他サイトで公開されているモノは、利用者のモラルから
それぞれの「使用条件」などに従った方がいいと思う。
83デフォルトの名無しさん:2011/05/22(日) 16:33:15.26
流石。バカしか居ない。w
84デフォルトの名無しさん:2011/05/22(日) 17:11:30.76
ここで聞こうかと思ったけど、
半日考えたら、解決したわ・・・
自分で考えることは大事やね
85デフォルトの名無しさん:2011/05/24(火) 12:01:07.89
本当にHSPで
デスクトップアイコンじゃなくすべてのプログラムから起動できて
タスクトレイのアイコンで設定ができて
ウィンドウ表示されずにツールバーにも出ないで動くツールが作れるんだろうな?
86デフォルトの名無しさん:2011/05/24(火) 12:10:15.53
できる
君の技術と努力次第
87デフォルトの名無しさん:2011/05/24(火) 12:17:22.57
結果的に出来ると作る過程が簡単かどうかは全くの別問題だからな
88デフォルトの名無しさん:2011/05/24(火) 16:39:47.71
http://punk-peace.sakura.ne.jp/

RPG制作補助ツール「cheese」
Cheeseは、RPG制作の補助をする事を目的として作りました。
RPGを作る上で面倒臭いマップ、イベント、データ作成等のお手伝いをするツールです。
RPGツクール等の様にゲームエンジンは付いておらず、エンジンはあくまで
自分で作らなければいけません。
基本的は自分用に作ったので使いにくい点が多々あると思いますが、少しでもお役に
立てればと思い公開する事にしました。
なお、イベント等を全く利用せずマップのみを作成し、マップエディタとして
利用する事も可能です。
また、HSP2.61用ですが、ゲームエンジンのサンプルスクリプトも
ありますのでご活用ください。
89デフォルトの名無しさん:2011/05/24(火) 19:20:41.48
初心者ですが質問です
パラメータをメモリーノートパッドを使ったメッセージボックスの内容を
同じくメモリーノートパッドを使った文字列形変数に代入してmes命令を使うと
文字が表示されません。原因がわかる方教えてください
90デフォルトの名無しさん:2011/05/24(火) 19:31:41.56
sdim a
notesel a
mesbox a
sdim b
notesel b
button "",*c
stop
*c
b=a
mes b
91デフォルトの名無しさん:2011/05/24(火) 21:21:56.76
>>86-87
実際にやってのけた人いますか?
92デフォルトの名無しさん:2011/05/24(火) 21:25:27.08
サンプルあるからググれ
93デフォルトの名無しさん:2011/05/25(水) 11:48:20.43
>>91
>85の
>すべてのプログラムから起動できて
がスタートメニューの事でいいなら全てサンプルは存在する
あとはそれらを組み合わせるだけ
94デフォルトの名無しさん:2011/05/25(水) 19:13:19.52
久しぶりにHSPやろうと思って3.21と3.3b2を入れたが
昔のスクリプトがそのままじゃ実行できない・・・

3.21は#Error 7
3.3b2じゃ#Error 27

3.21で配列の扱いが変ったのか・・・
3.3b2の方は

#define A 1
b=-A

ってやるとエラー
なんだこれ
95デフォルトの名無しさん:2011/05/25(水) 20:31:24.78
図書館で本借りればええやん
96デフォルトの名無しさん:2011/05/25(水) 20:38:15.22
ソースコンバータ2で変換してもだめなんか?
97デフォルトの名無しさん:2011/05/25(水) 22:00:57.46
久しぶりにHSPを使うバカな奴のフォローをしてやるお前等カッケー。w
98デフォルトの名無しさん:2011/05/25(水) 22:36:15.87
>>96
ん?
HSP3のソースだよ?
3.1までなら実行できたやつ

#defineで定義してるやつに-付けてるところ全部修正して
3.3b2で実行したら今度はアプリケーションエラーになりやがる
99デフォルトの名無しさん:2011/05/25(水) 22:47:10.60
面倒くさがるな!
100デフォルトの名無しさん:2011/05/25(水) 23:10:42.75
日本語でおk
101デフォルトの名無しさん:2011/05/26(木) 09:36:13.23
#define A int(1)
102デフォルトの名無しさん:2011/05/26(木) 11:25:53.83
#defineのは普通にバグだと思うからおにたまさんに報告すれ
103デフォルトの名無しさん:2011/05/26(木) 19:15:09.44
そういえば配列って、
値を一度決めた後に数値を変化させようとしたらエラーがでたな・・・
座標みたいにはいかんのかな?
104デフォルトの名無しさん:2011/05/27(金) 11:48:18.01
>>103
その状況を再現できるスクリプトをくれ
エラーが出るってだけじゃ何も言えん
105デフォルトの名無しさん:2011/05/27(金) 19:46:20.64
max=10
dim a,max
n=1
if n=1:max=11
という記述をしちゃうとcntでエラー吐くみたい。
maxを10以下に変更するなら問題ないようだけど。
106デフォルトの名無しさん:2011/05/29(日) 01:11:55.20
これは……
107デフォルトの名無しさん:2011/05/29(日) 01:37:31.06
3.21/3.3βじゃ再現できなかった。
108デフォルトの名無しさん:2011/05/29(日) 01:42:42.88
dim a,10 ;a.0〜a.9まで配列変数を確保
a.11=0 ;これは同次元配列の自動拡張が行われる(a.0〜a.11)
a.0=0+a.12 ;これは配列の範囲外を参照するのでエラー

であってるよね
109デフォルトの名無しさん:2011/05/29(日) 18:13:25.53
>3.3b2じゃ#Error 27
これは中間コードの最適化機能がONだと発生
#cmpopt optprm 0
で、回避できたがバグっぽい

>3.21は#Error 7
こっちはhgimg3の命令str2fvに問題ありそう
3.1と3.2で挙動が違う
どっちも問題ある動作だが3.1だと最初の数回だけで収まる

str2fv fv,a のaにちゃんと , で区切った3つの
数値がないとfvの値が安定しない
ヘルプには特に注意書きなし
110デフォルトの名無しさん:2011/05/29(日) 18:27:09.83
3.21と3.3b2は同じ動作

#include "hgimg3.as"
hgini
a="0"
repeat
hgdraw
str2fv fv,a
title str(cnt)+"  ◇"+str(fv)+" ◇"+fv(1)+" ◇"+fv(2)
hgsync 200
stick k,127
if k&128 : goto *owari
loop
*owari
end
111デフォルトの名無しさん:2011/05/29(日) 20:34:40.38
>>92-93
見当がつかない
URL晒してくれ
112デフォルトの名無しさん:2011/05/29(日) 23:49:42.22
hsp3.2で使えて今も残ってるhspwave.asない?
113デフォルトの名無しさん:2011/05/31(火) 15:47:10.19
モジュール変数って劣化インスタンスメソッドみたいなものですか?
114デフォルトの名無しさん:2011/06/01(水) 22:45:52.22
>>105
当たり前だろ。馬鹿かお前。
115デフォルトの名無しさん:2011/06/02(木) 00:39:14.84
当たり前なのか・・・
116デフォルトの名無しさん:2011/06/02(木) 01:03:22.12
例えば配列に格納したデータを先頭から比較するとき
>>105の後repeat maxのループ内部でa(cnt)を参照したら>>108なわけで

初めから最大の配列数で初期化しておいて、ループ数の方を調整するべき
dim a,max
len=max
if n!1 : len--
repeat len
; a(cnt)を参照するほげほげコード
117デフォルトの名無しさん:2011/06/03(金) 12:46:51.14
HSPってオープンソースになるの?
118デフォルトの名無しさん:2011/06/03(金) 19:18:06.40
awaitで微調整して効果音とアニメーションをぴったり合わせたのに
別のPCで動かしてみたらほんのちょっとだけど音と絵がずれた・・・
119デフォルトの名無しさん:2011/06/03(金) 20:36:44.26
awaitは前回使われてから指定された時間を待つ
既に指定された時間を過ぎてたら待たない

PC環境でawait 1で待つ時間は違う
XPなら5〜15msぐらい
await 10ぐらいにするとある程度安定するが正確に時間を計れない

時間を計測して合わせるべき
120デフォルトの名無しさん:2011/06/03(金) 20:58:48.89
w=1
repeat
c++
t = gettime(6)
await w
if t!gettime(6){;凄い適当な秒変り検出
color 255,255,255:boxf:color
pos 0,0:mes "FPS:"+c
c=0
}
loop

自分のPC(XP)ではwを1〜15に変えてもFPSは64で変らない
16にすると40に落ちる
121デフォルトの名無しさん:2011/06/03(金) 22:14:46.86
なるほどね!
122デフォルトの名無しさん:2011/06/03(金) 22:47:55.36
>>120
おおこれもらうわ さんくす
123デフォルトの名無しさん:2011/06/04(土) 00:20:00.34
c使いが紛れ込んでるな。(#^ω^)
124デフォルトの名無しさん:2011/06/04(土) 01:17:19.43
d3timer 使ったほうが楽じゃね?
125デフォルトの名無しさん:2011/06/05(日) 11:48:50.85
e3dにも入ってたような・・・
126デフォルトの名無しさん:2011/06/05(日) 13:21:45.63
>>125
e3d を使うとリンクするライブラリが変わるから場合によるかも
127デフォルトの名無しさん:2011/06/05(日) 18:44:13.10
e3dだとdirectxいるからそれだけのために必要って書くのもあれだからやめた方がいいか
128デフォルトの名無しさん:2011/06/05(日) 22:03:25.20
いつになったら構造体が使えるのかね。
129デフォルトの名無しさん:2011/06/06(月) 02:30:25.94
他の言語使えよ。
130デフォルトの名無しさん:2011/06/06(月) 18:12:27.77
このサンプルなんですが
ttp://hsp.tv/play/pforum.php?mode=pastwch&num=30734
どうすれば実際にD&Dしたのと同じ効果が得られるように出来るのですか
131デフォルトの名無しさん:2011/06/08(水) 00:13:32.28
クリック(押し)の座標とクリック(離し)の座標をなんとかかんとかだった希ガス
132デフォルトの名無しさん:2011/06/08(水) 00:56:33.39
>>130
ノートパッド起動してれば指定したファイルをD&Dした事になるよ
133デフォルトの名無しさん:2011/06/08(水) 18:53:28.49
>>131
どこかに参考になりそうな物は無いでしょうか
ハンドル取得部分の変更で数時間悩むようなど素人なので…

>>132
MCP-MA7というソフトにD&Dしたいのですか実際にD&Dしたときとは違ってしまい
関連付け起動したときに出るエラーが出てしまいました
このソフトD&DかメニューバーのEdit→Addから以外では受け付けてくれなくて
不便なため上記の動作+ボタン操作当をしたかったのですが
分かりやすいサンプルがなかなか見つかりませんorz
134デフォルトの名無しさん:2011/06/10(金) 16:01:17.56
大人しくC#でも使ってろよハゲ
135デフォルトの名無しさん:2011/06/10(金) 23:06:31.84
>>134
cここにくんな
136デフォルトの名無しさん:2011/06/12(日) 00:01:04.99
>>111を無視すんなゴルァ
137デフォルトの名無しさん:2011/06/12(日) 06:23:57.33
>>136
スタートアップにショートカット入れるのはだめなのか?
138デフォルトの名無しさん:2011/06/12(日) 09:43:00.55
そもそも>>85が何を言ってるのかわからない・・・
139デフォルトの名無しさん:2011/06/12(日) 11:26:58.21
>>138
スタートメニューの全てのプログラムにショートカットを作成
タスクトレイにアイコン表示、アイコンクリックでメニュー表示
ツールウィンドウで起動するアプリ
という事だろ

>>136
この2週間検索すらしなかったのか?
とりあえずHSP-NEXT池
140デフォルトの名無しさん:2011/06/12(日) 11:40:15.37
>>139
検索するようなやつがこんなところに書き込むもんか。
141デフォルトの名無しさん:2011/06/12(日) 15:11:31.09
入門書を2冊読んだ程度の人間が、次にステップアップできる書籍やいいサイトはありませんかね・・・?
142デフォルトの名無しさん:2011/06/12(日) 15:24:03.42
2冊読んだら、後は作りたいものを作るだけでは……
143デフォルトの名無しさん:2011/06/12(日) 20:05:00.96
ちょっと古いバージョンの質問なのですが3.1ではsetmodとdelmodのパラメータがなくなったと書いてあります
3.1ではモジュール型変数の再設定をするにはどうすればいいのですか?あと、delmodのパラが設定できなくなったことで
できる時とできない時の違いを教えてください
144デフォルトの名無しさん:2011/06/12(日) 20:09:47.03
群馬県高崎市に住む39歳AB型、製造業界で派遣プログラマーの仕事をしているhekenekoこと、黒飛健と申します。
新日本テクトスという会社を追われ、その後どうしてよいかわからなくなりました。
だけど私の大好きな尾崎豊の歌に励まされ、夢であるプロのクリエイターを目指すことにしました。
何度も挫けそうになりましたが、尾崎豊の歌を聞きながら自分を励ましています。
今も尾崎豊の歌のおかげで、夢を諦めずにCGアニメの製作を続けられています。

とりあえず、以下の動画を見てください。一生懸命作ったもので、自分では既にプロレベルの傑作だと思ってます。
できればみなさんのご意見、ご感想を聞きたいです。

復興支援アニメ.mp4
http://www.youtube.com/watch?v=yn4uTiN8vvM

湾岸鉄道キャンペーンCM(カラー).mp4
http://www.youtube.com/watch?v=g3PlX1OAhug&feature=channel_video_title


これは力作で、にしおかすみこさんにも是非見てもらいたかったため彼女のブログにコメントしたんですが無視されました。
http://blog.watanabepro.co.jp/nishiokasumiko/archives/2008/02/22_15_post_22.html
(下の方にあります。投稿者: hekeneko | 2008年03月24日 22:54)
やはり私の才能に気づいてくれる人は中々いないみたいですね(苦笑)。


題名”ラダニアムの翼”
A wing of radaniam_partU.mp4
http://www.youtube.com/watch?v=keSK70uqDJY
A wing of radaniamu part_V.mp4
http://www.youtube.com/watch?v=-LRZbXbirR0

題名”hekeneko honey”
http://www.youtube.com/watch?v=kATwf6fAkG8
私の世界観の全てを凝縮した力作です。hekenekoワールドをご堪能あれ。
145デフォルトの名無しさん:2011/06/12(日) 22:17:44.12
>>144
時間を返して欲しい・・・。
146デフォルトの名無しさん:2011/06/12(日) 22:51:15.08
>>145
相手にすんな
147デフォルトの名無しさん:2011/06/19(日) 19:36:20.95
3.1だとまったく問題ないのに3.0で実行すると「内部エラー」と出てしまいます。
これは何が原因なのでしょうか?わかる方御願いします。ちなみにOSはXPです
148デフォルトの名無しさん:2011/06/19(日) 21:06:35.40
プログラムが原因
149デフォルトの名無しさん:2011/06/19(日) 22:33:32.73
HSPでスクレレを使ってツールを作っています。

DBから読みこんだデータをいままでのものすべてをlistboxに表示したいの

ですが、listboxに最新のデータ一つしか表示されません。

どのようにすればいいのでしょうか?

sql_open "kodukai.db"
sql_q "CREATE TABLE IF NOT EXISTS [ログテーブル] (ID INTEGER PRIMARY KEY, [内容])"

sql_q "SELECT * FROM [ログテーブル]"
count = stat
repeat count
listboxtext="ID=" + sql_v("ID") + ", 内容=" + sql_v("内容")
sql_next
loop
150デフォルトの名無しさん:2011/06/19(日) 22:33:48.01
おそらくプラグイン dll の有無だろう
151デフォルトの名無しさん:2011/06/19(日) 22:43:23.83
一応dllもあって起動するんですが・・・
152デフォルトの名無しさん:2011/06/19(日) 23:16:07.36
スクレレは知らんのだけど
listboxtext="ID=" + sql_v("ID") + ", 内容=" + sql_v("内容")
これを
listboxtext += "ID=" + sql_v("ID") + ", 内容=" + sql_v("内容") + "\n"
にしてみたら
153デフォルトの名無しさん:2011/06/21(火) 22:04:13.25
>>147
それだけでわかるわけねーだろ。
エラー番号とかも書けよ。
154デフォルトの名無しさん:2011/06/24(金) 21:27:03.68
HSPか・・・懐かしいなww
155デフォルトの名無しさん:2011/06/25(土) 09:36:34.99
俺は懐かしいどころか現役という
156デフォルトの名無しさん:2011/06/25(土) 20:33:43.34
初歩的な質問です。
みなさんは、プログラムをかくとき自分で0からつくりあげていくのか、
それとも、他人が他言語などで書いたソースをベースに自分仕様にしてるのだろうか?
157デフォルトの名無しさん:2011/06/26(日) 11:31:58.73
>>156
両方

自分の理解出来てる事なら自分で組み立てるし
理解が及ばない事は他人のソースを見て解釈する事もある
158デフォルトの名無しさん:2011/06/26(日) 16:00:45.87
>他人が他言語などで書いたソースをベースに自分仕様にしてるのだろうか?
これはWinAPIとか使う時ぐらいだな
159デフォルトの名無しさん:2011/06/26(日) 16:16:58.75
>>158
APIは本当にそうだな。
さっぱり分からんもんがゴロゴロある。
160デフォルトの名無しさん:2011/06/26(日) 21:47:49.51
hspapi.asみたいなのでてほしい
161デフォルトの名無しさん:2011/06/26(日) 22:16:41.03
>>160
それで一体どんなものを希望してるんだ?
162デフォルトの名無しさん:2011/06/26(日) 23:35:53.71
いっぺんもぐらたたきでも作ってみようと思ったんだけど、アルゴリズムはどうすればいいのかわからんかった。
で、プログラムをネットで調べてみたけど、C言語で書かれたソースではやっぱり何を言ってるのかようわからん。
それならば、BASICで書かれたソースを見つけてHSPの命令に一文ずつ書き直せば簡単できるんじゃないか?
と思ったのだが、そんなに簡単にいくもんなのだろうか?
プチコンのプログラムソース見て思ったんだけど同じBASIC系言語らしいのに、HSPとはなんか違うような感じがする・・・
163デフォルトの名無しさん:2011/06/26(日) 23:45:24.54
>>162
移植の方法は、どのような言語でも、フローチャートに書き直す。
フローチャートに従って、新コードに書き下す。
164デフォルトの名無しさん:2011/06/26(日) 23:55:23.72
やっぱ、プログラミングには、フローチャートとかメモとか細かい作業が必要なんだな・・・
簡単であまり長くないプログラムなら、皆適当に思いつきで書いてるもんだと思ってたよ。
165デフォルトの名無しさん:2011/06/27(月) 00:22:53.22
個人で組むなら、どうでも良いよ。
でも、組織立って組んでるなら、同じファンクションやプロセジャーをコーディングしない為にも、文書化しとく必要は有るんじゃね?
166160:2011/06/27(月) 00:42:01.51
基本的なのからいうと
iniとか
hspapi@wikiとか作って拾ったり、作ったwin32apiを使ってる命令を一つのasファイルにしたら楽なんじゃないかって
167デフォルトの名無しさん:2011/06/27(月) 09:00:55.45
HSP って user32.as とか kernel32.as とか付属してなかった?
168デフォルトの名無しさん:2011/06/27(月) 11:35:32.40
関数名だけわかっても定数で詰まるから
さくらさんとこの定数ツールみたいなの標準で同梱するか
誰かHDL用にAPIと定数の関連マニュアル作ってくれないかな?
個人で作るには量が膨大すぎるけど
169デフォルトの名無しさん:2011/06/27(月) 13:14:14.81
>>168
他の言語用のマニュアル使えばいいじゃない
170デフォルトの名無しさん:2011/06/27(月) 14:23:28.31
>>169
その手間を少なくする為の話してるんだよ
171デフォルトの名無しさん:2011/06/27(月) 14:47:19.79
フローチャートとかセンター試験くらいでしか使った事がない
172デフォルトの名無しさん:2011/06/27(月) 18:22:10.33
HSPでいろいろ作れようになれば基本情報技術者試験受かりますかね?
173デフォルトの名無しさん:2011/06/27(月) 19:02:54.03
HSPはHSPの本を読みまくれば、HSP使いにはなれるが、
基本情報技術者試験は、基本情報の本を、読んで、ときまくら
ないと、と受からない。俺はファーストフード店に入り浸って、
旧国家2種(基本情報相当)を取ったが、2年で、20kg太
ってしまった。その体重を肥満外来に通って、1年半で、もと
の体重に戻した。ファーストフード勉強法は、太るぜ。受かった
時の俺は、HSPは、まったく知らなかった。プログラムの問題
の参考にはならんかもしれん。でも、HSP知ってると、win
dowsプログラマーになれる。
174デフォルトの名無しさん:2011/06/27(月) 19:26:32.44
基本情報に実際のプログラムの問題なんてほとんどないよw
175デフォルトの名無しさん:2011/06/27(月) 22:02:47.06
>>162
以前、3の倍数の時アホになり、5の倍数の時弱気に吠える犬になり、3と5の倍数(15の倍数)のときヒャッハーするプログラムをc++だかで見たんだが、おまじないが多くて困った。
結局、理解するのを止めた…
176デフォルトの名無しさん:2011/06/27(月) 22:36:41.48
「言語」って言うくらいだからなぁ
単語だけ他の言語に訳しても意味ないんだよ、文法も分かるようにならないと
177デフォルトの名無しさん:2011/06/27(月) 23:11:41.15
>>173
不自然な改行なので縦読みを探したが見つからない
178デフォルトの名無しさん:2011/06/27(月) 23:30:44.22
>>173さんは、書き方に、特徴があるので、
あなたを知っている人は、匿名で書いても、あなたが誰だか分かってしまうから、
2ちゃんねるに書きこむの時は、気をつけた方が、いいかと思うよ。
親の、具合は、もういいのかい?
179デフォルトの名無しさん:2011/06/28(火) 00:25:21.52
自分は、HSPを2度挫折して今年の2月に基本情報の勉強を始めました。
しかし、擬似言語で行き詰ったので、再びHSPを始めたらついにHSPのプログラムを完成させることができました。
たぶんCASL2や基本アルゴリズムを学んだことが、自分の血となり肉となったのだと思います。
でも、基本情報で学んだことの多くは忘れてしまっているみたいなので、またやり直さなきゃいけなくなった。
そして基本情報の勉強をしなおしているうちに、今度はHSPの文法を忘れていっているようです。
人生は、3歩進んで2歩下がるですね。3歩進んで2歩進めるような頭のいい人が羨ましいです。
180デフォルトの名無しさん:2011/06/28(火) 00:27:26.41
そういうスタンド攻撃があってだな・・・
181デフォルトの名無しさん:2011/06/28(火) 11:13:07.39
>>178
親の具合は、ブログを参照してください。
くわしくは、ブログを見ればいいです。
更新しています。
文章は2ちゃんの法則で、こういう書き方
になっています。ご指摘ありがとうございます。
182デフォルトの名無しさん:2011/06/28(火) 14:37:33.97
日本語として何を言っているのか分からない
183デフォルトの名無しさん:2011/06/28(火) 18:46:24.04
buffer 1,100,100
//gsel 0
screen 0,640,480,0,(ginfo(20)-ginfo(10))/2, (ginfo(21)-ginfo(11))/2
stop

gsel付けないと表示されないんだけど、これって正常だと思うか?
184デフォルトの名無しさん:2011/06/28(火) 19:02:01.93

buffer 1,100,100
logmes "ginfo(10)="+ginfo(10)
logmes "ginfo(11)="+ginfo(11)
logmes "ginfo(12)="+ginfo(12)
logmes "ginfo(13)="+ginfo(13)
gsel 0
logmes "ginfo(10)="+ginfo(10)
logmes "ginfo(11)="+ginfo(11)
logmes "ginfo(12)="+ginfo(12)
logmes "ginfo(13)="+ginfo(13)
185デフォルトの名無しさん:2011/06/28(火) 19:25:34.04
ginfo(10)と(11)がぶっ壊れてるね
(4)〜(7)もイカレてる
186デフォルトの名無しさん:2011/06/28(火) 19:43:55.33
仮想画面だから不定なのは正常
187185:2011/06/28(火) 19:48:02.17
すまんバッファの座標が取れてただけだなorz
gsel 0は当然あるべき
188デフォルトの名無しさん:2011/06/28(火) 20:37:04.69
HSPで見下ろし型(スーファミのラングリッサーみたいな感じ)のSRPG作りたいんだけど
ソース公開してる参考になるサイトってある?
斜めでマスの数が少ないのは嫌なんだ
189デフォルトの名無しさん:2011/06/28(火) 21:15:51.65
>>188
HSP3.2プログラミング入門の本の中に、
シュミレーションRPG 草原の攻防という
ソース付きのサンプルがあるが、それじゃだめかな?
190デフォルトの名無しさん:2011/06/28(火) 21:23:40.61
>>189
やっぱりネット上ではSRPGのソース公開はあまり無いみたいですね・・・
一度プログラミングの本買ってバージョンが変わってて失敗したことがあるんだ
プログラミングについての本あまり信用しないようになってしまったんだが・・・
少し怖いから、本屋に行って中身みてくるかもしれない。
情報ありがとう!
191デフォルトの名無しさん:2011/06/28(火) 21:32:47.16
イメージはちがうが、シュミレーションで、ソース付きがあった。
http://www7b.biglobe.ne.jp/~managame/hsp.html
192デフォルトの名無しさん:2011/06/29(水) 20:17:09.92
screen 2,640,480,4

サイズが固定されないんだけど(WIN7)
GetWindowLong&SetWindowLongでやらないと駄目なの?
193デフォルトの名無しさん:2011/06/29(水) 20:19:13.81
(WIN7)のバグだと 思われる。
194デフォルトの名無しさん:2011/06/29(水) 22:07:23.64
>>191
遅くなりました!これも参考にしてみます!
いつかはオリジナルのが作れたらいいな〜


わざわざありがとうございました!
195デフォルトの名無しさん:2011/06/29(水) 22:30:53.04
>>194
いえいえ
196デフォルトの名無しさん:2011/06/29(水) 23:29:01.01
講座でも始めようかな
197デフォルトの名無しさん:2011/06/30(木) 00:14:08.60
螺旋の騎士のようなフリーの良作期待してますよ
198デフォルトの名無しさん:2011/06/30(木) 00:34:36.10
入門的な講座よりも、ゲームでよく使われるスクリプトの大全集みたいなサイトがあると助かる
クックブックもリファレンスブックも逆引き辞典もあんまり自分には役に立たなかったもんで・・・
199デフォルトの名無しさん:2011/06/30(木) 00:58:27.95
HSP3 ゲームのプログラミング
http://masudahp.web.fc2.com/hsp3/game/index.html
HSPサンプルスクリプト
http://www.amayado.net/game/hsp_sample.html
こんな感じで、どうかな?
200デフォルトの名無しさん:2011/06/30(木) 01:16:54.99
どうも、ありがとう。でも、どちらも既に知ってるサイトでした・・・
個人的には、体力のバーの表示の仕方とか、弾を全方位に撃つ方法とか、横アクションゲームの基礎とか
これができると、アレを作れそうだなみたいな、そういう技術が知りたいかなぁーと
コンテストに応募してくる人は、どこで習ってるのかなぁ?やっぱり他の言語で取得した知識なのかな?
201192:2011/06/30(木) 06:18:44.53
>>193
d 了解
202デフォルトの名無しさん:2011/06/30(木) 08:01:33.33
>>200
http://hariko.hariko.com/index.html
http://hsp.tv/play/pforum.php?mode=all&num=39373
http://oirahakobito.seesaa.net/article/208834349.html
http://hsp.tv/play/pforum.phpで、弾幕で検索
本は、最新HSP3.2プログラミング入門―オフィシャル
HSP3でつくる簡単3Dゲーム」
12歳からはじめるHSP3.0わくわくゲームプログラミング教室
12歳からはじめるHSP 3Dゲームプログラミング教室
など参考にするといい
203デフォルトの名無しさん:2011/06/30(木) 17:16:16.98
こんにちは、初めましてです。
HSP初めて触る少し質問をさても頂きたく思います。
HSPの前進させるキー操作のところを、加速度センサーを使った、
リアルタイムでの歩行動作をさせることは可能なのでしょうか?
プログラムの書き方しだいかもしれませんが、どうぞご回答よろしくお願いします。

環境としては、OSはvista 今のところはHSP3です。
204デフォルトの名無しさん:2011/06/30(木) 20:23:39.94
>>202
どうもありがとう。初見のものもありました
紹介してもらった感想としては、やっぱりゲームスクリプト集のような超便利なサイトや書籍はないみたいですね
天は自ら助くる者を助くという言葉がありますけど、プログラムの世界でも初心者に楽して上達させてはくれないみたいです・・・

でも逆に、初心者がポンポンと判子絵のようにゲームを作ることが本当に良いことなのかということも考えてしまった
ただでさえフリーゲームがネットに溢れてるのに、ちっとも面白くないゴミのような作品が増えて誰が得をするのか?と
ネットは玉石混合と言われてるけど、さらに砂漠の中から指輪を拾うような状況になるのはよくないことだし
お使いイベントや王道シナリオが陳腐化し、フリーの絵や音楽を目にするたびにウンザリしてしまうんじゃないかと思った
205デフォルトの名無しさん:2011/06/30(木) 20:31:10.91
hsp3imp.dllの質問です。

_hspprm@16( 0, 0, 0, NULL )
_hspprm@16( $102, 0, 0, "test.ax" )
_hspini@16( $100, 300, 200, 0 )
_hspexec@16( 0,0,0,0 )
_hspbye@16( 0,0,0,0 )

こんな感じでHSPスクリプトを実行できるのは分かったんですけど、
どうやったらUWSCの変数を参照させられるでしょうか。
メッセージのやり取りでも出来ればいいんですが、UWSC側でメッセージを受信できないので、
直接変数を渡してHSPスクリプトで書き換えたいんですけど。

UWSC以外でも、hsp3imp.dll で呼び出したスクリプトとやり取りする方法はあるんでしょうか。
変数や関数呼び出しで。
206デフォルトの名無しさん:2011/06/30(木) 23:22:54.27
>>203
あなたの言う「加速度センサー」とは何か?
キーボード・マウス以外の周辺機器をHSPで利用するには、専用のDLLが必要。
あなたの加速度センサーのDLLがHSPで利用可能か私には分からない。

「リアルタイムでの歩行動作をさせる」とは何を動作させるのか?
あなたはパソコンにロボットなどを接続してその制御をしたいのか?
あるいは3D・2Dゲームのキャラクターを画面の中で動かしたいという事か?

>>205
あなたの質問はおそらくこのスレ向きではない
207デフォルトの名無しさん:2011/07/02(土) 18:59:22.40
>>206
なんかそれ翻訳したみたいだな
208デフォルトの名無しさん:2011/07/04(月) 20:50:40.02
>>203の書き方が翻訳したみたいだったから合わせた
209デフォルトの名無しさん:2011/07/06(水) 21:15:57.88
へえ
210デフォルトの名無しさん:2011/07/08(金) 22:09:06.28
多次元配列の初期化代入はどうやるの
一次元なら a = 1,2,3....でできるけど・・・
211デフォルトの名無しさん:2011/07/09(土) 11:39:58.25
多次元配列の初期化代入は多分不可能だがこういう事なら出来る

dim a, 3, 2
x = 0, 1, 2, 3, 4, 5
memcpy a, x, 24, 0

repeat 2
cnt1 = cnt
repeat 3
mes a(cnt,cnt1)
loop
loop

あまりややこしい事はしない方が結果楽だけどな
212デフォルトの名無しさん:2011/07/09(土) 13:30:48.49
>>211
あーやっぱ反復構造利用しないとダメですか
ありがとうございました
213デフォルトの名無しさん:2011/07/09(土) 16:18:58.84
a(0)=1,2,3...
a(1)=1,2,3...
a(2)=1,2,3...
初期化代入って呼ぶのかどうか
214デフォルトの名無しさん:2011/07/09(土) 19:48:43.10
>>213
それって今でも出来たっけ?
昔はできた気がするけど…
215デフォルトの名無しさん:2011/07/09(土) 23:21:58.52
HSPのテストバージョンにHSPDishがついてたんだけど
これでどうやってAndroidで動かすんだ??
216デフォルトの名無しさん:2011/07/09(土) 23:46:53.91
>>214
できなかったわ知らなかった
というかどうなってんのこれ

dim arr, 3, 3
arr(0) = 1,1,1
arr(1) = 2,2 //これ以上多いとエラー
arr(2) = 3 //これ以上多いとエラー

repeat 9
mes ""+arr( cnt/3, cnt\3 )
loop
217デフォルトの名無しさん:2011/07/10(日) 00:05:57.65
dim arr, 3, 3
arr(0) = 1,1,1 // arr(x,0), arr(x+1,0), arr(x+2,0)に代入
arr(1) = 2,2 // arr(x,0), arr(x+1,0)に代入
arr(2) = 3 // arr(x,0)に代入

repeat 3
mes ""+arr(cnt, 0)+" "+arr(cnt, 1)+" "+arr(cnt, 2)
loop
218デフォルトの名無しさん:2011/07/10(日) 00:22:52.67
>>217
おかげで添字が逆だったのを思い出した

dim arr, 3, 3
arr(0,0) = 1,1,1
arr(0,1) = 2,2,2
arr(0,2) = 3,3,3

repeat 3
mes ""+arr(cnt, 0)+" "+arr(cnt, 1)+" "+arr(cnt, 2)
loop
219デフォルトの名無しさん:2011/07/10(日) 03:12:00.69
配列は苦手だわ
めまいする
220デフォルトの名無しさん:2011/07/10(日) 03:16:03.75
添字が逆なのはマジ嫌がられ
221デフォルトの名無しさん:2011/07/10(日) 12:42:19.60
え?
222デフォルトの名無しさん:2011/07/10(日) 20:42:40.84
配列初期かもできない分言語なんかやってるひといるのw
223デフォルトの名無しさん:2011/07/10(日) 20:59:37.88
>>217
何ぞこの糞仕様w
分かり難いわwww
224デフォルトの名無しさん:2011/07/10(日) 21:40:26.17
#module

#deffunc foo int a
return

#deffunc bar int a
return

#global

上記のようなものがあるとして
foo という関数を module 外から見えなくする方法があれば教えてください
225デフォルトの名無しさん:2011/07/10(日) 22:00:36.60
無いんじゃね
226デフォルトの名無しさん:2011/07/10(日) 22:25:10.37
HSPにそんな高度な機能はないだろ。
227デフォルトの名無しさん:2011/07/10(日) 22:27:37.64
知れば知るほどいやになる言語hsp
だが残念なことにpygameもstaerrubyも糞過ぎてこれしか選択肢がない
228デフォルトの名無しさん:2011/07/10(日) 22:42:04.69
選択肢が偏りすぎてる件
229デフォルトの名無しさん:2011/07/10(日) 22:43:19.26
>>224
同名の関数があるのが困るってだけならこれでおk

#define foo foo_no_hontou_no_namae_ha_nagai
#deffunc foo_no_hontou_no_namae_ha_nagai int a
return
230デフォルトの名無しさん:2011/07/10(日) 22:47:07.01
高度な機能は亡き者にする姿勢ってどうにかならないのかな〜
プログラムに慣れて来たら卒業したくなる言語って悲しいんだけどw
231デフォルトの名無しさん:2011/07/10(日) 23:42:59.00
DXライブラリはヴィジュアルスタヂオの知識が必要
lgpは手軽だが画像読み込みばぐや画面サイズに制約があり微妙
pugameはideと日本語の扱いがロクにできない
starrubyだかdxrubyはエラーログすらでねえ
232デフォルトの名無しさん:2011/07/10(日) 23:56:35.00
VS使える言語はいろいろ便利でいいよな
233デフォルトの名無しさん:2011/07/10(日) 23:59:36.93
一体HSPに何を求めてるんだ。
234デフォルトの名無しさん:2011/07/11(月) 00:08:41.70
ラベルの撤去
235デフォルトの名無しさん:2011/07/11(月) 09:28:57.41
>>224
#deffunc local foo int a
236デフォルトの名無しさん:2011/07/11(月) 09:52:21.42
>>235
消えるには消えるけど@モジュール名付けないといけないから嫌なんだよな
おまけに local してない同名の命令が先にあると結局だめだし
237デフォルトの名無しさん:2011/07/12(火) 20:19:41.70
>>231
つMMF
238デフォルトの名無しさん:2011/07/15(金) 19:18:20.91
自分の書いたプログラムみてたら単調な命令ばかりで行数が無駄に多いことに気付いた
頭のいい人間なら熟考した上でrepeatや配列をつかったエレガントな文を書くんだろうな
でも俺アホだからそういうの思いつかないんだよな。だからソースは他人に絶対見られたくない
おまえらはどうよ?
239デフォルトの名無しさん:2011/07/15(金) 19:28:55.75
単調な命令ばかりで行数も五千行になったけど別に「見られたくない!」とまでは思わないなあ
変数の単語の使い方が間違ってたら恥ずかしいな、とは思うけど

ぶっちゃけ変数だけでもかなり色々出来るしわざわざムリしてまで難しい命令を使う事は無いと思うよ
誰かに教える事を前提とするならちょっと考えなきゃいけないのかもしれないけど
240デフォルトの名無しさん:2011/07/15(金) 21:51:57.87
他人の書いたソースは無駄も含めて色々勉強になる
ソースを公開してくれるのはありがたい
知らない命令つかってたりしてな

無駄が多いと気付いたんなら>>238のスキルが上がってきた証拠じゃね?
241デフォルトの名無しさん:2011/07/15(金) 22:08:36.16
じきに local がずらっと並んでエディタがどこまでも横スクロールするようになる
242デフォルトの名無しさん:2011/07/15(金) 22:45:24.70
ふ〜ん
243デフォルトの名無しさん:2011/07/15(金) 23:22:58.22
無駄が多いと気づいたなら、書きなおして無駄を減らせばいいだけでしょ
244デフォルトの名無しさん:2011/07/16(土) 05:58:06.28
>>238
ループでまとめたほうがすっきりすると思っていたが、
マクロ生活のマクロ見て愕然とした。

シンプルな記述で羅列したほうがめちゃめちゃすっきりしてた。
245デフォルトの名無しさん:2011/07/16(土) 12:51:30.08
動いてるところだけ見てもコードの汚さなんて分からないんだから
無駄でも冗長でも別にいいんだよ、モジュール化に限界のあるHSPでは
それは十分許される
246デフォルトの名無しさん:2011/07/16(土) 23:03:08.50
みんな優しいな
247デフォルトの名無しさん:2011/07/17(日) 21:15:33.61
プログラムってさ、書いてるうちにブラックボックス的なコードになってたりするよね?
248デフォルトの名無しさん:2011/07/17(日) 22:44:00.86
hgimg3で、objchildにより何かの子になっているobjectが
delobjで消去できないのは仕様でしょうか?
ドキュメントにあるとおり、delobjに親を指定すれば子もろとも消えるのですが

公式に打ち上げれば修正されるのでしょうか?

249デフォルトの名無しさん:2011/07/18(月) 19:58:38.09
hgimg3は資料が少なすぎて使う気になれない
ユーザーを増やそうという気概も感じられない

そんなhgimg3に手を出したのなら
公式のサポートなどあてにしない孤高のプログラマとなり
自分の知恵と力で道を切り拓くべき

わりとマジで
250デフォルトの名無しさん:2011/07/19(火) 01:16:38.68
>>248
delobj前に親子設定破棄
251デフォルトの名無しさん:2011/07/19(火) 02:02:11.76
>>247
だから俺は12個に分けた
252デフォルトの名無しさん:2011/07/19(火) 15:52:41.34
プログラミング全般に言えることなんだけど
ネット資料がいろいろと少なすぎるから
結局金払ってマニュアル本なり英語のサイト漁らないといけない
253デフォルトの名無しさん:2011/07/20(水) 15:45:48.63
ぷよぷよのようなゲームを作ろうと思っているのですが、
↑キーを押した時に時計回りにブロックを回転させる操作をしたいと
考えています。
しかし、1度↑キーを押しブロックが時計回り(左上)へ移動した後に
もう一度↑キーを押すとそのまま左上へ行ってどこかへ行ってしまいます。
ブロックの中心を軸にその周りを回る方法を知りたいのですが、
参考にするといいサイトなどあるでしょうか?
254デフォルトの名無しさん:2011/07/20(水) 21:43:26.01
早く誰か答えなさい…
255デフォルトの名無しさん:2011/07/20(水) 21:55:22.20
ソースコードをupすれば、誰か答えるだろう…
256253:2011/07/21(木) 10:30:11.14
ソースコードはとあるサイトにあったソースを元に改ざんしているのですが
まだ調べが甘かったようです。
質問しておいて失礼ですが、
気になるサイト(ソース付き)を見つけたのでひとまず
そのソースをいじりながら勉強をしてみます。
お騒がせしましたm(_ _)m
また行き詰ったらお邪魔しにくるかもしれませんが・・w
257デフォルトの名無しさん:2011/07/21(木) 18:16:39.76
コピペで試行錯誤するのは止めとけ
技術は全く身につかないし、時間の無駄
258デフォルトの名無しさん:2011/07/21(木) 19:35:07.24
hspletRPGを作りたいってとき
セーブデータってどこに保存されるの・・・?
259デフォルトの名無しさん:2011/07/22(金) 15:06:51.73
ぷよぷよよりテトリスの方がソースたくさんネット上に置いてありそうだけどな
構造も似てるし参考にはなるだろ
知りたいのは落ちてくるブロックの回し方なわけだし

まあそこで苦労してるようじゃ連鎖過程でさらに苦労しろうだな
260デフォルトの名無しさん:2011/07/22(金) 22:55:50.16
newmod してできたモジュール変数のインデックスを知る方法はありますか?
261デフォルトの名無しさん:2011/07/22(金) 23:04:52.10
>モジュール変数のインデックス
なにそれおいしいの
262デフォルトの名無しさん:2011/07/23(土) 02:34:12.56
>>261
newmod を繰り返すと配列見たいのがどんどん伸びていって delmod をすると歯抜けになる
その後で newmod すると抜けてた部分が埋まるんだよ
そうなると新しく newmod された部分がどれなのか調べるのが面倒なんさ
263デフォルトの名無しさん:2011/07/23(土) 03:24:47.96
みんな無限ループエラーの時のデバックどうやってる?
ゲームがフリーズするから普通に変な動きした時よりエラー箇所探すのめんどくさい
264デフォルトの名無しさん:2011/07/23(土) 08:56:31.30
>>260
このwikiの「モジュール変数の配列番号を取得する」は違う?

http://hspdev-wiki.net/?hsp3%2F%A5%E2%A5%B8%A5%E5%A1%BC%A5%EB%CA%D1%BF%F4
265260:2011/07/23(土) 14:21:52.52
>>264
探していたのはまさしくコレです
ありがとうございました
266デフォルトの名無しさん:2011/07/23(土) 22:04:05.56
>>265
いえいえ
ひょ〜〜〜〜
267デフォルトの名無しさん:2011/07/24(日) 01:41:38.90
>>263
wait,awaitなんかの待機処理入れて動作見たり、ループ脱出条件の変数を出力して監視したり。
268デフォルトの名無しさん:2011/07/24(日) 20:18:02.50
MIDI音源の再生について質問です。
前のパソコンでも使っていたシーケンスソフトで快適に再生できていたファイルがもたつき、音が途切れ途切れになるなどの症状が出ていて困っています。
重い常駐ソフトも特になく、ソフトからエクスポートしたファイルをWindowsMediaPlayerで再生してもスピードが0.3~0.4秒前後不安定(遅い)で、以前は正しく発音されていた部分が途切れたり消えたりします。
ソフト上でも同様です。デバイスの確認や診断も行なってみましたが、異常なし
・現在
OS:Windows7 Home Premium 32-bit (6.1, Build 7600 )
Procerror:AMD Athlon(tm) II X2 255 Processor (2 CPUs), 3.1 GHz
Memory:2048MB RAM
Page File:786MB 2795MB availableDirectX:DirectX 11
Sound Devices
Description:スピーカー(Realtek High Definition Audio)
Driver Name:RTKVHDA.sys
HW Accel Level:Basic
EAX(tm) 2.0 Listen/src:No, No
I3DL(tm) Listen/src:No, No
------------------

・以前
OS:WindowsXP Home Edition(5.1, Build 2600)SP2
Procerror:Intel(R) Celeron(R) CPU 2.80GHz
Memory:256MB RAM
Page File:274MB 337MB available
DirectX:DirectX 9.0c
Sound Devices
Description:Realtek AC97 Audio
Driver Name:ALCXWDM.SYS
HW Accel Level:Full
EAX(tm) 2.0 Listen/src:Yes, Yes
I3DL(tm) Listen/src:Yes, Yes

お願いします
269デフォルトの名無しさん:2011/07/24(日) 22:10:02.62
メディアプレーヤーでそれってことはHSP全然関係ないよね
ここで聞く事じゃないと思うけど

XPで使ってたソフトそのまま使ってるの?
OSアップデートしたら過去アプリ使えなくなるのは珍しい事じゃないよ
互換モードで使ってみ
それ以上のことはグーグル先生に
270デフォルトの名無しさん:2011/07/25(月) 09:53:51.51
windows7だとareo周り?
後はDirectSound関係かな?
271デフォルトの名無しさん:2011/07/25(月) 17:38:19.23
>>188
2007年のプログラムコンテストに反乱軍記っていうソフトを作った人がいたよー
272デフォルトの名無しさん:2011/07/26(火) 15:20:51.96
repeat〜wait 10〜 loopと書くよりも、label〜wait 10〜 goto labelで記述した方が
体感的にキーの入りがいいように感じるのですが、みなさんはどうでしょうか?
世間的にgoto文は多用すべきでないと言われてるので、repeat文で書いてます・・・
273デフォルトの名無しさん:2011/07/26(火) 15:53:12.81
HSPだけに限って言えばrepeat〜loopは意外と使い難い局面が多々あるので
gotoと場合によって使い分ければいい
俺はメインループはgotoでサブルーチン内でだけrepeat〜loopを使うようにしてる

ちなみに処理速度だけならrepeat〜loopの方が若干速いからキー入力云々は気のせいだろ
274デフォルトの名無しさん:2011/07/26(火) 18:17:44.39
モジュール変数を知って今まで苦労していた部分が楽になった
が、今まで楽に出来ていた部分で苦労するようになったw
275デフォルトの名無しさん:2011/07/26(火) 19:04:25.64
苦労した成果
#module hoge a, b
#deffunc swap_var var x, var y, local z
z=x : x=y : y=z
return

#modinit int a_, int b_
a=a_ : b=b_
return

#modfunc hoge_print
mes strf("a=%d b=%d", a, b)
return

#modfunc hoge_swap_ var a_, var b_
swap_var a, a_
swap_var b, b_
return

#modfunc hoge_swap var target
hoge_swap_ target, a, b
return
#global

newmod x, hoge, 1, 2
newmod x, hoge, 3, 4
newmod y, hoge, 5, 6
hoge_swap x.1, y.0
foreach x
hoge_print x.cnt
loop
hoge_print y.0
276デフォルトの名無しさん:2011/07/26(火) 19:06:47.55
>>272
カウンタが有るか無いかぐらいの差しかないよ
てかゲームで使うならawaitな

>>274
多次元配列は一次元配列より倍近く重いから一フレームで大量に扱う物にモジュール変数は不利になるから注意
277デフォルトの名無しさん:2011/07/26(火) 22:01:47.68
>>275
モジュール変数というかメンバ変数?を使いこなせるなら
もうC++やC#を使った方が楽かもなw
278272:2011/07/26(火) 22:09:16.96
タイトル画面でスタートキーを押したにもかかわらず、受け付けてくれないことが多々ありまして、
出鼻を挫かれたプレーヤーが少しイラっとされるんじゃあないかと思ったんですよ・・・
279デフォルトの名無しさん:2011/07/26(火) 22:31:13.83
>>272
repeat〜loopはgotoでループ抜けるとネストが残ったままになるから、
gotoでループするとかdoとかwhileを使った方がいいらしいな。
280デフォルトの名無しさん:2011/07/27(水) 00:43:30.28
ついでに氷もたのむ
281デフォルトの名無しさん:2011/07/27(水) 03:00:18.23
>>278
それはループ処理かキー入力取得自体に問題があるんじゃないのか?
30fps程度で動かしてたとしても、非同期のキー入力を取りこぼす事は普通ありえないぞ
282デフォルトの名無しさん:2011/07/27(水) 12:27:51.48
gotoしてる文、ループ時の条件文がスルーされてるってオチだったりして
283デフォルトの名無しさん:2011/07/27(水) 13:24:38.84
ネストが残るてどういう意味なん?
メモリにゴミでも溜まるんかい?
284デフォルトの名無しさん:2011/07/27(水) 13:56:12.76
repeat -1
gosub *nest_houti
loop

*nest_houti
stop ; repeatブロックの中のまま、gosubで飛んだまま
285デフォルトの名無しさん:2011/07/27(水) 20:12:50.69
え?
286デフォルトの名無しさん:2011/07/27(水) 21:56:17.47
それはいいんじゃね?
つかHSPにも関数ブロックみたいなのがほすい。returnし忘れとかやめて〜
287デフォルトの名無しさん:2011/07/28(木) 10:01:31.30
>>284の何が危ないのかわからないんだったら、
gotoによるループをオススメする
288デフォルトの名無しさん:2011/07/28(木) 10:25:55.25
ミスを誘う仕様っぽいけど今更どうしようもないだろw
289デフォルトの名無しさん:2011/07/28(木) 17:22:41.04
gosubでreturnしないなんて、初心者の漏れでもやったことない
290デフォルトの名無しさん:2011/07/28(木) 17:52:06.98
他人のコード理解しないままコピペしてたら起こり得る
291デフォルトの名無しさん:2011/07/28(木) 19:53:53.35
自分のスクリプトを確認してみたら、gosubで飛んだラベルから条件分岐で別のラベルにgotoする処理もあるんだけど
その場合もネストがなんたらで危ないのか?別に、エラー吐いたりフリーズしたり不具合もでたことないんだけど・・・
292デフォルトの名無しさん:2011/07/28(木) 20:23:16.56
grotateで画像が乱れるとお悩みのあなたに embed_grotate !
これがあればアルファチャンネル付き画像だってグリグリ回せちゃいます
今なら外部DLL一切不要
一家に一台 embed_grotate !!!


● 特長
grotate とそのまま置き換え可能
外部DLLが不要
画像が乱れにくい
アルファブレンドコピーができる
アルファブレンドコピーモードの際に半透明合成時のブレンド率も適用される
(アルファチャンネル付きの画像をフェードイン、フェードアウトできる)

● grotateと異なる点
転送先、転送元いずれかがパレットモード時には動作しない
grotateよりも低速(約80%〜60%)
アルファブレンドコピーモードの際の動作が異なる

● 使い方
1.embed_grotate.hsp を HSP の common フォルダにいれる
2.embed_grotate.hs を HSP の hsphelp フォルダにいれる
3.#include "embed_grotate.hsp" と記述する
4.grotate のかわりに embed_grotate と記述する

プラグイン作ったので宣伝してみました
http://simasuzu.web.fc2.com/
293デフォルトの名無しさん:2011/07/29(金) 01:53:44.66
>>291
ややこしいがそのgoto先の中でreturnしてればおk
自分が見易い形に整理していった結果そうなったならそれでいいんだろう
294デフォルトの名無しさん:2011/07/29(金) 05:48:59.55
gosubしたらreturnで戻ってこないと、(スタック?に記録された戻り値が解消されないまま?だから)
それがどんどん溜まるとエラーになってプログラムが落ちる場合もあるという理解でいいんですかね?
ttp://hsp.tv/play/pforum.php?mode=pastwch&num=5340
295デフォルトの名無しさん:2011/07/29(金) 12:57:07.22
#cmpopt varinit 1 ってみんな使ってない?
人様のモジュール使うとき自前で変数の初期化するの面倒なんだが
296292:2011/07/29(金) 17:29:14.21
ver1.4 できました
処理速度が grotate とほぼ同等になりました
描画領域の計算が正確になりました(タイルパターンの描画にも使えるようになりました)
297デフォルトの名無しさん:2011/07/29(金) 23:49:51.81
ここは宣伝スレじゃないんで^^
298デフォルトの名無しさん:2011/07/30(土) 11:09:21.31
>>283
これを実行してみればわかる
i=0
*main
repeat
i++
cls
mes i
goto *main
loop
299デフォルトの名無しさん:2011/07/30(土) 12:28:05.19
せめてwaitを
300デフォルトの名無しさん:2011/07/30(土) 13:51:27.70
いらないだろ
301デフォルトの名無しさん:2011/07/30(土) 18:30:01.53
looplev
sublev
地味すぎるシステム変数たち
302272:2011/07/30(土) 18:33:55.24
repeat
stick a
if a=16:goto *main
wait 10
loop
というふうに書いてました。あまり良くないようなのでgoto文に変えることにします。
質問に答えてくれた方々、どうもありがとうございました。
303デフォルトの名無しさん:2011/07/30(土) 19:15:17.91
>>302
お前全然意味分かってないだろw
goto使うなっつってるのにwww
304デフォルトの名無しさん:2011/07/30(土) 21:35:00.05
repeatをgotoに変えるんだろ

repeat使うなら

*main
mes b
b++
repeat
stick a
if (a&16):break
wait 1
loop
goto *main
こんな感じ

if (a&16) にしたのはa=16じゃスペース以外も押されてるとtrueにならない

後stickやgetkey命令は先行入力が効かないみたいだから
wait 10だとポンと押して離すとwait中に入力終わっててキー検出できない
305デフォルトの名無しさん:2011/07/31(日) 00:37:56.73
まじgoto廃止しろよ・・・
306デフォルトの名無しさん:2011/07/31(日) 08:48:47.01
>>305
goto廃止したら、for、whileといったマクロも使えなくなるぞ。
んなことより、goto使うとおかしくなるrepeatを無くせよ。
307デフォルトの名無しさん:2011/07/31(日) 08:59:42.10
基本的な文法くらい素でサポートしろよなw
今更だが、マクロで拡張するという考えがまずかった
308272:2011/07/31(日) 10:12:26.83
>>304
ありがとうございます。この問題は解決できました。
でもrepeat文の使い方がまずい文が他にもたくさんあって、
今の自分の力では、もう手がつけられなくなっちゃいました・・・
309デフォルトの名無しさん:2011/07/31(日) 13:46:04.08
即席でギャグとして作ってみたw
#undef repeat
#undef loop
#undef break
#undef continue
#undef cnt
#define repeat(%1=-1,%2=0) %trepeat %i=0%c%s1%s2 *%i%c cnt=%p3+%2%c if (%p3>=(%p2)) & ((%p2)>=0):goto *%i%i0%c
#define loop %trepeat *%o%c%p4++%c goto *%p1%c*%o%o0%o0%o0%o0
#define break %trepeat goto *%p1%c
#define _continue_ cnt+1
#define continue(%1=_continue_) %trepeat %p5=%1-%p3:goto *%p2%c

これならネストの問題もなく動くでしょ
310デフォルトの名無しさん:2011/07/31(日) 22:52:04.34
これが速攻で組めるとは…
俺もまだまだだな
311デフォルトの名無しさん:2011/08/01(月) 10:47:46.22
cだなc
312デフォルトの名無しさん:2011/08/04(木) 23:24:27.01
>>309
C厨乙
313デフォルトの名無しさん:2011/08/07(日) 06:14:20.55
ちょっとお聞きしたいのですが、HSPってもしかして本来飛ばすはずの次の処理とか結構読んじゃったりする?

ってスレ流し読みした感じだともしかしてgoto使ってるのがわるいのか
処理順でもバグってるのかこれ・・・
314デフォルトの名無しさん:2011/08/07(日) 06:16:46.71
sageてしまったのでage

315デフォルトの名無しさん:2011/08/07(日) 10:58:54.01
>>313
そういうバグは聞いたことないよ。
316デフォルトの名無しさん:2011/08/07(日) 12:13:23.94
短絡評価はもともと無いよ
317デフォルトの名無しさん:2011/08/07(日) 12:28:59.86
自分の思うように動かないと
処理系のバグだと考える
実に初心者スレにふさわしいレス

…みんな一度は通る道だよね
318デフォルトの名無しさん:2011/08/07(日) 12:31:20.36
俺も幼稚園の頃はそうだったわ
319デフォルトの名無しさん:2011/08/07(日) 12:49:55.33
swbreak?
320デフォルトの名無しさん:2011/08/07(日) 15:10:28.83
>>315
ありませんか・・・すいません。
間違いようがない処理のはずなんですがなぜかバグる。

色々略してますが
if flag = 0{
 処理
 flag =1
}
程度の物なのになぜかflagが1の時にも処理が実行されてしまいます
321デフォルトの名無しさん:2011/08/07(日) 15:15:02.94
>>320
実行可能で現象が再現する最小のソースを用意してくれ
322デフォルトの名無しさん:2011/08/07(日) 15:17:07.95
flag が local で宣言されてるとかじゃね?
local は毎度初期化されるから
323デフォルトの名無しさん:2011/08/07(日) 15:41:58.82
タイプミスとか
いや、笑いごとでなくて
324デフォルトの名無しさん:2011/08/07(日) 15:44:22.11
ちょっともう一度最低限に削ってテストとタイプミスチェックしてみます
だめならコード張ってみます
325デフォルトの名無しさん:2011/08/07(日) 15:47:49.85
randomize
flag = rnd(2); 0=白,1=黒
dim arr,8,8; 8x8の二次元配列
i = 0: j = 0: xx = 0: yy = 0;
;配列を0で初期化
repeat 8
repeat 8
arr(i,j) = 0
j+=1
loop
i+=1
j=0
loop
;配列を0で初期化終了
arr(3,3) = 1: arr(4,4) = 1;白駒配置
arr(4,3) = 2: arr(3,4) = 2;黒駒配置
*game
redraw 2
cls 0
326デフォルトの名無しさん:2011/08/07(日) 15:49:37.76
i = 0: j = 0: x = 20: y = 20
repeat 8
repeat 8
pos x,y
mes arr(i,j)
y+=50: j+=1
loop
x+=50: y=20: i+=1: j=0
loop
if xx!="":pos 420,100:mes xx
if yy!="":pos 470,100:mes yy
if flag = 0: pos 450,50: mes "白のターンです"
if flag = 1: pos 450,50: mes "黒のターンです"
redraw 1
onclick goto *click_wait
stop
327デフォルトの名無しさん:2011/08/07(日) 15:51:04.94
*click_wait
xx = mousex
yy = mousey
i = 0: j = 0
while(i<=8)
while(j<=8)
if xx > (j*50) & xx < ((j+1)*50) & yy > (i*50) & yy < ((i+1)*50){
if arr(i,j) = 0{
arr(j,i) = flag + 1
if flag = 0 {
flag = 1
}else{
flag = 0
}
}
}
j+=1
wend
i+=1: j=0
wend
goto *game
328デフォルトの名無しさん:2011/08/07(日) 15:53:23.68
実際にバグるというのは、なぜか普通にクリックする分には0→1or2に変わればそれ以上変わらないのですが、
ダブルクリックや高速でクリックしまくると1→2→1→...と切り替わってしまったりするんです
329デフォルトの名無しさん:2011/08/07(日) 16:19:55.31
クリックしたときに押下状態を更新する。
メインループでその状態を見るって感じでいいかと。
330デフォルトの名無しさん:2011/08/07(日) 16:29:15.03
>>328
> if arr(i,j) = 0{
> arr(j,i) = flag + 1
ダブルクリックとか関係なく
この部分 i,j と j,i の順序が変わってるからじゃね?
331デフォルトの名無しさん:2011/08/07(日) 16:32:07.39
>>330
うわ・・・馬鹿すぎるorz

すいません、その処理のほうのjとiを入れ替えた後、その条件式のiとjを入れ替え忘れていました
本当にご迷惑をおかけしてすみませんでした ありがとうございました
332デフォルトの名無しさん:2011/08/07(日) 19:24:24.02
なんかほのぼのした
333デフォルトの名無しさん:2011/08/07(日) 21:54:12.63
まあ解決してなにより
334デフォルトの名無しさん:2011/08/08(月) 00:11:49.09
HSPなんかやるよりもC#で書いた方が余程マシじゃね?
HSPなんか何にも良いことないじゃん。
335デフォルトの名無しさん:2011/08/08(月) 05:46:53.52
ああ、そうだね
336デフォルトの名無しさん:2011/08/08(月) 06:15:26.92
言語仕様や開発環境でHSPが勝てる点は一切無いだろうね
でもC#は非ネイティブという致命的欠陥がある
337デフォルトの名無しさん:2011/08/08(月) 06:27:41.45
HSPはエディタが前触れも無く異常終了するのが難点
338デフォルトの名無しさん:2011/08/08(月) 09:30:39.71
HSPだって非ネイティブじゃないの?
339デフォルトの名無しさん:2011/08/08(月) 10:58:07.33
ワロス
340デフォルトの名無しさん:2011/08/08(月) 11:04:01.41
>>337
3.3rc1にしなよ
エディタもバージョンアップしてるから
341デフォルトの名無しさん:2011/08/08(月) 11:07:15.82
たしかに公式掲示板の質問でそれやるならHSP使わない方が
はるかに楽だろうというのはよくあるけどな
342デフォルトの名無しさん:2011/08/08(月) 14:17:39.27
module 内で初めて実行されたかどうかのフラグを使いたいんだけど下の使い方でいいの?
今のチェックをすり抜けてるだけで実際には未初期化の変数使ってるから後のバージョンでエラーにされる?

#cmpopt varinit 1
#module test_module

#deffunc dummy ; varinit 1 のエラー回避用
is_initialized=0
return

#deffunc run_once ; この関数が一回だけ呼ばれるようにしたい
if is_initialized : return ; varinit 1 のとき関数 dummy を消すとここでエラーになる
mes "initialize"
is_initialized=1
return

#deffunc hoge
run_once
mes "hoge"
return

#deffunc huga
run_once
mes "huga"
return

#global

hoge
huga
hoge
343デフォルトの名無しさん:2011/08/08(月) 15:38:29.50
>>342
考え方は○ですが dummy を一度呼んでおきましょう

#global
dummy

hoge
huga
hoge
344デフォルトの名無しさん:2011/08/08(月) 17:12:45.19
入門書では教えてないような命令を多く使ってるのね。
これで初心者って、みんなすごいね!
345デフォルトの名無しさん:2011/08/08(月) 18:18:18.30
>>344
いろんな命令を使ってみるといいよ
慣れてきたら使わずに書くほうが難しくなるよ

module とか使わずにプログラム書ける人すげーって思うもん
346デフォルトの名無しさん:2011/08/08(月) 18:25:11.29
こんなのは #deffunc 使わないとかえって難しい

; ハノイの塔を解くプログラム
hanoi 4, "A", "B", "C"
stop

#deffunc hanoi int disc, str from, str to, str free
if disc<=0 : return
hanoi disc-1, from, free, to
mes strf("disc %d : from %s to %s", disc, from, to)
hanoi disc-1, free, to, from
return
347デフォルトの名無しさん:2011/08/08(月) 18:30:59.68
>>334
C#なんかやるよりもC++で書いた方が余程マシじゃね?
C#なんか何にも良い事ないじゃん。
348デフォルトの名無しさん:2011/08/08(月) 19:17:51.01
じゃあC++やればいいじゃんw
349デフォルトの名無しさん:2011/08/08(月) 19:40:49.09
そういえば、5年位前にネットで7行くらいのテトリスみたことあったけど
HSPだと何行くらいかかるんだろうな
350デフォルトの名無しさん:2011/08/08(月) 19:51:26.35
テトリスならHSPの弱点が影響しにくいから
他言語とそんなに違いは出ないかと
351デフォルトの名無しさん:2011/08/08(月) 20:32:56.90
>>343
ありがとうございます
一度 dummy を呼ぶようにします
352デフォルトの名無しさん:2011/08/09(火) 00:55:26.99
>>350
ソース解説なんぞいくらでも転がってるからがんばれは移植できそうだよな

時間掛かりそうだなあ・・・
353デフォルトの名無しさん:2011/08/09(火) 13:49:24.88
>>351
moduleを別ファイルにしてるなら
そっちにdummyを追加な
includeすれば実行されるし
354デフォルトの名無しさん:2011/08/09(火) 22:41:43.14
おれを無視するなよ・・・
355デフォルトの名無しさん:2011/08/09(火) 23:31:30.40
>>354
どのレスがお前やねん・・・
356デフォルトの名無しさん:2011/08/10(水) 01:59:30.98
夏休みどすな
357デフォルトの名無しさん:2011/08/12(金) 12:20:49.69
ですねw
358デフォルトの名無しさん:2011/08/13(土) 13:28:39.67
盆休み保守
359デフォルトの名無しさん:2011/08/13(土) 15:02:21.99
なんでか、盆休みのほうがかきこみすくないね
360デフォルトの名無しさん:2011/08/13(土) 15:07:31.62
embed_grotate ver1.9
http://simasuzu.web.fc2.com/

#cmpopt varinit 1 に対応したよ
ファイルサイズが小さくなったよ
361デフォルトの名無しさん:2011/08/13(土) 16:46:45.36
>>360
おつかれさん
機会があったら使ってみるよ
362デフォルトの名無しさん:2011/08/16(火) 12:35:27.48
>>359
不思議だよね
363デフォルトの名無しさん:2011/08/16(火) 15:27:53.61
オッサン達は帰省やら家庭のことでむしろ忙しいのかもしれぬ。
コンテストの投稿者みてたら、キャリア5年前後の10代が多いようだ。
ベーシック(HSP)は、オッサンホイホイだと思っていただけに以外だった。
364デフォルトの名無しさん:2011/08/16(火) 19:47:40.19
コンテスト期間の後半を待ってみ
オッサンがいっぱい来るから
365デフォルトの名無しさん:2011/08/16(火) 19:49:09.87
>>363
おっさんならまず「BASIC」でググるような気がする・・・
そして互換BASICに流れる気がする・・・
366デフォルトの名無しさん:2011/08/17(水) 01:57:22.71
見た目はあんまりBASICっぽくないよな
泥臭さはBASICより酷いが
367デフォルトの名無しさん:2011/08/17(水) 21:17:14.69
セーブがうまいことできないけど
やりようによっちゃ普通のRPGみたいにできるもんだね
368デフォルトの名無しさん:2011/08/17(水) 22:04:43.55
notesaveとかbsave使えよ
369デフォルトの名無しさん:2011/08/17(水) 23:34:27.09
そこはvsaveだろ
370デフォルトの名無しさん:2011/08/18(木) 01:23:49.10
vsaveっていう命令もあったのか。標準命令じゃなかったので知らなかった。
便利そうだから今度使ってみる。サンクス。
371デフォルトの名無しさん:2011/08/18(木) 09:28:14.82
皆さんは、モニタの画面解像度をどのくらいにしてますでしょうか?
自分は、1027x768が丁度いいと思っているのですが、昔のHSP製のゲームの場合
ウィンドウが小さくなってしまって遊びづらい物も数多くあります。
(とはいえ、画面の解像度をいちいち800x600に変更したくはありませんよね?)
これからゲームを作る場合、スクリーンのサイズをなるべく大きなものにして
32x32で描いていたキャラクターを倍にしたほうがよいのでしょうか?
あともう一つ気になったのですが、さらに高解像度にしたところ画像が歪んで見えました。
(アイコンが横長だったり、縦長になったりなんとなく比率が違うように感じました。)
将来的には、どの解像度を基準にしてプログラムを作ったらよいのでしょうか?
372デフォルトの名無しさん:2011/08/18(木) 11:09:00.44
>>371
幾つかのウィンドウサイズに変更可能にしておいてユーザに選ばせるのが一番楽
373668:2011/08/18(木) 16:28:13.44
自分がユーザーなら>>372
374デフォルトの名無しさん:2011/08/18(木) 17:59:18.41
668ってなに?
375デフォルトの名無しさん:2011/08/19(金) 11:14:34.31
コンテストスレで使ったコテの消し忘れだな
376デフォルトの名無しさん:2011/08/21(日) 14:46:28.40
へえ
377デフォルトの名無しさん:2011/08/21(日) 22:11:52.15
test
378デフォルトの名無しさん:2011/08/22(月) 17:35:57.59
mes "test"
379デフォルトの名無しさん:2011/08/22(月) 21:55:14.26
test
380デフォルトの名無しさん:2011/08/22(月) 22:51:41.51
そろそろsageる事くらい覚えたらどうかね
381デフォルトの名無しさん:2011/08/22(月) 23:47:02.10
>>342 は dummy をユーザーが呼び出す可能性を考えると

is_initialized@test_module = 0
;〜〜〜〜〜〜〜〜〜〜〜〜〜↑↓別ファイル(でなくてもいいけど)
#cmpopt varinit 1
#module test_module

とする方がより安全かなと今思った
382デフォルトの名無しさん:2011/08/25(木) 16:25:30.48
 
383デフォルトの名無しさん:2011/08/25(木) 23:53:38.83
>>382
それは、全角スペースが原因です。
384デフォルトの名無しさん:2011/08/26(金) 13:35:53.91
復活!
385デフォルトの名無しさん:2011/08/28(日) 21:58:03.04
へえ
386 忍法帖【Lv=2,xxxP】 :2011/08/28(日) 22:04:50.85
mes "test"
387デフォルトの名無しさん:2011/08/29(月) 09:37:46.58
>>386
テストはこっちでやって

[TEST] 書きこみテスト 専用スレッド 38 [確認]
http://hibari.2ch.net/test/read.cgi/software/1314425987/
388デフォルトの名無しさん:2011/08/29(月) 10:01:15.46
テストって何のためにやってるの?
389デフォルトの名無しさん:2011/08/29(月) 20:20:17.20
勉強した内容を理解してるかの確認のためじゃね?
390デフォルトの名無しさん:2011/08/31(水) 07:39:47.68
     _______                     __
    // ̄~`i ゝ                    `l |
    / /        ,______   ,_____    ________  | |  ____ TM
   | |     ___ // ̄ヽヽ // ̄ヽヽ (( ̄))   | | // ̄_>>
   \ヽ、   |l | |    | | | |    | |  ``( (.  .| | | | ~~
      `、二===-'  ` ===' '  ` ===' '  // ̄ヽヽ |__ゝ ヽ二=''
                         ヽヽ___//   日本
         .______________  __
         |韓国はなぜ反日か?            | |検索|←をクリック!!
391デフォルトの名無しさん:2011/08/31(水) 22:03:52.33
今HSPでメトロノーム作ってるんだけど、音の間隔が安定しなくて
全然使い物にならない・・・
392デフォルトの名無しさん:2011/08/31(水) 22:22:45.26
wait とか await だけだとバラつくよ
393デフォルトの名無しさん:2011/08/31(水) 22:30:20.55
await使ってる
他になんか間隔あけれる命令ある?
394デフォルトの名無しさん:2011/08/31(水) 22:56:57.49
>>388
勉強的な理由→勉強できたかの確認
プログラミング的な理由→バグの洗い出し&改良点の確認
395デフォルトの名無しさん:2011/08/31(水) 22:59:46.02
>>393
いっそ
#uselib "winmm.dll"
#cfunc global timer "timeGetTime"
みたいにしてtimer()で時間を取り出して、
現在時間-開始時間がなんとかミリ秒の整数倍なら云々といったルーチンはどうだい?
内部で間隔を開ける発想のawaitとかと違って正確にリズムを刻める
音ゲーづくりにも役立つと思う
396デフォルトの名無しさん:2011/09/01(木) 00:04:20.15
>>393
×あけれる
○あけられる
397393:2011/09/01(木) 01:25:34.42
>>396
ごめんなさい
ぼくがまちがってました・・・
398デフォルトの名無しさん:2011/09/01(木) 05:00:13.14
    _______                     __
    // ̄~`i ゝ                    `l |
    / /        ,______   ,_____    ________  | |  ____ TM
   | |     ___ // ̄ヽヽ // ̄ヽヽ (( ̄))   | | // ̄_>>
   \ヽ、   |l | |    | | | |    | |  ``( (.  .| | | | ~~
      `、二===-'  ` ===' '  ` ===' '  // ̄ヽヽ |__ゝ ヽ二=''
                         ヽヽ___//   日本
         ______________  __
         |韓国はなぜ反日か?         .| |検索|←をクリック!!
399デフォルトの名無しさん:2011/09/01(木) 07:58:54.14
そんなのいちいち指摘しなくてもいい気がするけどね
400デフォルトの名無しさん:2011/09/01(木) 14:29:24.06
イライラ迷路を作ってるけど、あたり判定をする命令が書けないorz
401デフォルトの名無しさん:2011/09/01(木) 14:56:59.68
>>400
当たり判定用の buffer を作って
pget すればおk
402デフォルトの名無しさん:2011/09/01(木) 15:43:29.46
>>400
キー操作でマウス動かせるソフトでズルできないようにすればももっと完璧だな
403デフォルトの名無しさん:2011/09/01(木) 20:08:36.96
>>393
WM_TIMERを使うとか?
正確とは言い難いけどなw
404デフォルトの名無しさん:2011/09/01(木) 22:12:56.66
返信してくれた方ありがとうございます

>>395
鳴ボタン押した時間取得して、
それから設定時間経過したら音を鳴らすってことですよね?
で、次は音鳴らした瞬間の時間から設定時間まで
の繰り返しってことですよね?

>>396
申し訳ない

>>403
なるべく精度高めたいからなぁ…
参考にしてみます
405デフォルトの名無しさん:2011/09/01(木) 22:24:56.05
>>404
>次は音鳴らした瞬間の時間から設定時間までの繰り返し
それじゃあwait使うのと大して変わらんよ。

やるならこんな感じ

#uselib "winmm.dll"
#func global timeGetTime "timeGetTime"
step=50
timeGetTime : time=stat + step
while
await 1
timeGetTime
if stat >= time{
time+=step
cls
mes i
i++
}
wend

最初に時間を取得したら
あとはその時間にひたすら加算し続けて比較って言うのが一番正確かな?
桁溢れだけには注意が必要だけどな。
406395:2011/09/01(木) 23:33:06.06
>>405
短いループ一回ごとに呼び出して経過時間の差分が超えてるか判定を行って云々
・・・の方が良いような気がするんだけどなあ

まあメトロノームなんて組んだこと無いから良くは知らんがw
407デフォルトの名無しさん:2011/09/01(木) 23:50:50.63
>>404
作ってみた

#include "d3m.hsp"

mmload "tick.wav", 1

tempo=240 ; 一分間に240回
tempo_count=0
base_time=d3timer()

repeat
cur_time=d3timer()
spend_time=cur_time-base_time
if spend_time>=tempo_count*60000/tempo {
mmplay 1
tempo_count++
if tempo_count>tempo {
tempo_count=1
base_time+=60000
}
}
await 1
loop
408デフォルトの名無しさん:2011/09/02(金) 02:00:16.66
await版とtimeGetTime版を同時起動してもずれはわかんなかった
わかるほどずれるもの?

#include "kernel32.as"
repeat
beep 440,30
await 60000/240 ;240回/分
loop
409デフォルトの名無しさん:2011/09/02(金) 02:03:19.15
>>408
ずれが累積していくから
5分の曲で1秒ずれるとかじゃないかな
410デフォルトの名無しさん:2011/09/02(金) 14:50:09.29
演奏に使うには致命的やね
411デフォルトの名無しさん:2011/09/02(金) 20:29:15.10
>>406
409も言ってるけど、誤差が蓄積していくからなぁ。
await使った場合と大差なくなる。
412デフォルトの名無しさん:2011/09/02(金) 20:33:31.05
そもそもズレ分をどうやって評価してるの?

テンポが120(のハズ)の曲と同時再生して、とか
市販のメトロノームと同時に使って、とかなら
そっちのソースの方ほうを疑ってもいいんじゃないか?
413デフォルトの名無しさん:2011/09/02(金) 20:50:04.88
楽器弾く人ならすぐ気付くよ
「なんかズレてる」って
414デフォルトの名無しさん:2011/09/02(金) 20:55:59.95
まぁどうがんばっても正確な「メトロノーム」は出来んだろうな。
絶対どっかでズレるだろ。
415デフォルトの名無しさん:2011/09/02(金) 21:00:57.88
本当に正確ならタイトルバーをドラッグしただけでずれるということは有り得ない
416デフォルトの名無しさん:2011/09/02(金) 22:01:49.01
物理的な道具の方が便利なケースもあるってことだな・・・
417デフォルトの名無しさん:2011/09/02(金) 22:26:36.61
四捨五入
418デフォルトの名無しさん:2011/09/02(金) 22:42:23.67
>>415
マルチスレッド化するプラグインを使えば大丈夫
419デフォルトの名無しさん:2011/09/02(金) 22:54:07.25
これを実行してみれば分かるが
await 1 で待つと 15ms くらいの誤差は覚悟しないといけない
await 0 だと CPU 1コアが100%負荷になる(awaitですぐ他のプロセスに順番が回るので100%とはいっても普通に作業は可能)

#include "d3m.hsp"
repeat
title strf("fps=%d", d3getfps())
await 32 // 0 のとき fp=2600くらい、1〜15 のとき fps=64、16 のとき fps=40、17〜32 のとき fps=32
loop
420415:2011/09/02(金) 23:11:57.06
>>418
そういうものがあったのか、サンクス
421デフォルトの名無しさん:2011/09/04(日) 15:39:35.57
waveOut系のAPI使えば簡単だろうな、バッファが空になった時点で
メッセージなりコールバックなりが来るから

HSPで使えるかは知らん
422デフォルトの名無しさん:2011/09/04(日) 16:08:11.24
>>421
いけるんじゃないか?
メッセージが飛んでくる度にバッファにWaveデータ書き込めばいいわけだし。
問題は質問者にそのルーチンを組めるかどうかだなw
423デフォルトの名無しさん:2011/09/04(日) 19:05:28.10
mmload "正確なタイミングで音を繰り返す巨大ファイル.wav"
mmplay

これで完璧だな。
424デフォルトの名無しさん:2011/09/04(日) 20:22:14.11
>>423
最初にこっそり巨大メトロノームファイルを作ってリピートさせればズレが少なくて済むかも

いやネタじゃなくてマジで
425デフォルトの名無しさん:2011/09/04(日) 21:14:58.20
>>424
リピート再生だと、その都度誤差が出るんじゃねーの?
426デフォルトの名無しさん:2011/09/04(日) 21:54:35.00
hspogg.dllを使えば大丈夫なはず
427デフォルトの名無しさん:2011/09/07(水) 21:40:09.41
最近勉強し始めたドが何個あっても足りない初心者ですが…
AとBのHSPプログラムを同じ窓で合体実行って出来ますか?

今スロットゲームのリール1を完成させた所で
リール2を場所ずらして1と合体させられるか調べてるんですが
検索ワードに困ってるというか、出てきてもまだ多くが出来ないというか…
428デフォルトの名無しさん:2011/09/07(水) 21:41:32.68
↑の最後の文、多くが理解出来ないの間違いでした;
429デフォルトの名無しさん:2011/09/07(水) 21:44:23.69
こういう質問にどう見事に返す人がいるのか見守ることにする
430デフォルトの名無しさん:2011/09/07(水) 21:56:41.76
exec命令使え
431デフォルトの名無しさん:2011/09/07(水) 21:58:34.13
カスカスな質問でしたか…
出来るか出来ないかだけでもいいのでご教授願いたいです;
432デフォルトの名無しさん:2011/09/07(水) 22:00:05.37
omg
433デフォルトの名無しさん:2011/09/07(水) 22:01:00.31
>>430
あ、ありがとうございます!
今さっきexec試してみてました(別窓になっちゃいましたが…w)
なんとか同じ窓で開けるように頑張ってみます

434デフォルトの名無しさん:2011/09/07(水) 22:02:27.65
実際は>>430のexec命令を使うよりも、プログラムを見直して(作りなおして)
並列処理させられるようにしたほうが、質問者の意図したプログラムになると思う。
それぞれのリールについてフラグを立て(0-停止, 1-回転中 2-減速等)管理し、
ボタンが押されたらそれに対応する動作をするようにすればいいんじゃないかな。
435デフォルトの名無しさん:2011/09/07(水) 22:09:44.19
>>434
やっぱりそうですよね…
まだ長文に慣れてなかったので同じ窓で起動出来れば編集しやすい気がしまして;
ご教授ありがとうございました
436デフォルトの名無しさん:2011/09/07(水) 22:19:59.94
>>435
まずは1つのリールを動かせるようにしてみて、
それが出来ているのなら、2つ同時に止めるものでもいいから作ってみてはどうかな?
ステップアップしていくことが大事だから、慌てずゆっくりとやればいいと思う。
437デフォルトの名無しさん:2011/09/07(水) 22:59:59.35
>>436
ありがとうございます
イメージばっかりが沸いていきなり飛ばしてコピーした文でやってたので
436さんの言う通りにまた初めから身につけるようにやってみたいと思います

始めて2日目ですが本当コツコツが大事な事に気がつきました
イメージが形に出来るようになるまで頑張ります!
438デフォルトの名無しさん:2011/09/08(木) 11:55:39.18
数年ぶりにインストールしたんだけど
HSPTVが見れないんだけど

バージョン3.2で、3.3RC1がないから再生できないとエラーが出る
439デフォルトの名無しさん:2011/09/08(木) 13:37:47.73
へえ
440デフォルトの名無しさん:2011/09/08(木) 15:08:19.15
>HSPTV部門の作品については、HSPTV!ブラウザで配信されていますので、お手数ですが最新版のHSP3.3RC1をダウンロードしてご覧ください。
ってコンテストのトップページに書いてある
441デフォルトの名無しさん:2011/09/13(火) 20:07:30.19
どなたか、mp3とかで次のようなやつを作ってください。
・曲の頭と尻に1秒(出来れば時間指定)の無音部があるようにする。
 もともと無音部が長ければカットし足りなければ付け加える。
 無音部の音圧レベルが指定できるとGood。
・曲の出だしはフェードインし、終わりはフェードアウトするようにする。
 フェードイン、フェードアウト、それぞれの時間幅を指定できると
 very Good
442デフォルトの名無しさん:2011/09/13(火) 20:21:11.26
>>441
甘えるなアフォ
443デフォルトの名無しさん:2011/09/13(火) 20:55:04.42
444デフォルトの名無しさん:2011/09/13(火) 21:07:49.70
じゃあ、甘えついでに。
ノーマライズも含めてゲインの調整もできるようにしてよ。
もうちょいいろいろ機能をつければ、500円ぐらいなら有料でもOK
利用者けっこういると思うよ。
1万人いれば500万円のおこづかいだ。やってみてよ。
445デフォルトの名無しさん:2011/09/13(火) 21:09:14.52
>>444
先に500円くれたらフリーソフトの紹介するよ
446デフォルトの名無しさん:2011/09/13(火) 21:16:11.06
知らなかったけど、フリーソフトであるの?
自分は今は波形エディタ使ってやっているんだけどめんどい。
なんとか自動でみんなやってくれるやつないかなあ、と思って。
447デフォルトの名無しさん:2011/09/13(火) 21:31:59.17
つかスレチ
448デフォルトの名無しさん:2011/09/13(火) 23:42:09.28
つーか馬鹿だなこいつ。
449デフォルトの名無しさん:2011/09/14(水) 00:17:10.60
曲の頭に拍手のSEが流れてライブ音源風になるってソフトが昔あったな
なつかしい
450デフォルトの名無しさん:2011/09/14(水) 14:15:58.30
通常dialogはリターンなど無いと
先には進めませんが
表示させたままで切り捨てる
こと出来ませんか?
メッセージを出しっ放しにしてたいのです
ウィンドウでもいいのですが。
execでテキストはなしで。
451デフォルトの名無しさん:2011/09/14(水) 14:39:49.96
screen命令でウインドウ複数作れるから
メインの処理とは別にメッセージ用のウインドウ作ればいい
対象のスクリーンを切り替える gsel の使い方もヘルプで読んどき
452デフォルトの名無しさん:2011/09/14(水) 22:49:41.32
screen だしてどうにかしないと処理停止
したままですよね?
メイン処理はどうやって出したscreen を無視したらいいのですか?
453デフォルトの名無しさん:2011/09/14(水) 23:23:43.07
gselで描画先を切り替えて何とか出来ると思ってたんだがそうじゃないのか
454デフォルトの名無しさん:2011/09/15(木) 01:10:39.17
>>452
止まらないよ

screen 1

x=rnd(640),rnd(640)
y=rnd(480),rnd(480)
vx=rnd(10)+1,rnd(10)+1
vy=rnd(10)+1,rnd(10)+1

repeat
repeat 2
x(cnt)+=vx(cnt)
y(cnt)+=vy(cnt)
if x(cnt)>640 : vx(cnt)=-abs(vx(cnt))
if x(cnt)<0 : vx(cnt)=abs(vx(cnt))
if y(cnt)>480 : vy(cnt)=-abs(vy(cnt))
if y(cnt)<0 : vy(cnt)=abs(vy(cnt))
gsel cnt
redraw 0
color : boxf
color 255 : circle x(cnt)-10, y(cnt)-10, x(cnt)+10, y(cnt)+10
redraw
loop
await 20
loop
455デフォルトの名無しさん:2011/09/15(木) 02:15:04.94
メインルーチンを複数動かすのではなく

メインルーチン
ある条件ならgoto *scmsg
メインルーチン

*scmsg
screen 2
mes "tojiro"

閉じる押すまで出したまま
また別で条件があうたび
メッセージを出したいのですが。

例えるならスロットで当たりが出るたび
当たりの時間やコイン数を
ポップアップさせ閉じるまで残したい
10回当たったら10個出したいのです
456デフォルトの名無しさん:2011/09/15(木) 12:13:15.45
dialogだと止まるから、dialogっぽいモノをscreenで作って
gselで元の窓に戻れってことでしょ
457デフォルトの名無しさん:2011/09/15(木) 19:32:35.80
>>455
こんなもんか?かなり邪魔になるんだがw ログ表示みたいにしたほうがよさげ
#const POPUP_NUM_MAX 100
dim popup_visible, POPUP_NUM_MAX
dim popup_wnd_id, POPUP_NUM_MAX

repeat POPUP_NUM_MAX
popup_wnd_id.cnt=cnt+072
loop

repeat
stick key
if key & 256 { // マウスクリックするたびポップアップさせる
if ginfo(2)=0 {
repeat POPUP_NUM_MAX
if popup_visible(cnt)=0 {
popup_visible(cnt)=1
screen popup_wnd_id(cnt), 100, 100
button gosub "消えよ", *popup_button
break
}
loop
}
}
await 20
loop

*popup_button
erase_id=ginfo(2)-072
popup_visible(erase_id)=0
gsel popup_wnd_id(erase_id), -1
return
458デフォルトの名無しさん:2011/09/16(金) 00:15:34.08
#include "hgimg3.as"
dmmini
dmmload "A.ogg" , 1 , 0
dmmplay 1
stop

これを実行すると音がずっとループ再生されてフリーズしてしまいます
1回だけ鳴らしたいのですがどうすればよろしいですか?
459デフォルトの名無しさん:2011/09/16(金) 23:15:44.35
dmmload使った事無いんだけど、パラメータはちゃんと通常再生になってるね
何が悪いんだろ
とりあえず stop するんじゃなくてサンプル通りにループで待って様子を見てみ?

*www
dmmstat a,0,16 ; 再生フラグを取得
dmmstat dd,1,$100 ; 再生フラグを取得
title "PLAYING="+a+"/"+dd
await 20
goto *www
460デフォルトの名無しさん:2011/09/17(土) 04:51:49.84
>>457
ありがとうございますo(^▽^)o
でもcnt+072が理解出来ません(-。-;
461デフォルトの名無しさん:2011/09/17(土) 20:17:55.44
>>460
#const POPUP_NUM_MAX 100
dim popup_visible, POPUP_NUM_MAX
dim popup_wnd_id, POPUP_NUM_MAX

repeat
stick key
if key & 256 { // マウスクリックするたびポップアップさせる
if ginfo(2)=0 {
repeat POPUP_NUM_MAX
if popup_visible(cnt)=0 {
popup_visible(cnt)=1
if popup_wnd_id(cnt)=0 : popup_wnd_id(cnt)=ginfo_newid
screen popup_wnd_id(cnt), 100, 100
button gosub "消えよ", *popup_button
redraw
break
}
loop
}
}
await 20
loop

*popup_button
erase_wnd_id=ginfo(2)
repeat POPUP_NUM_MAX
if popup_wnd_id(cnt)=erase_wnd_id : erase_id=cnt
loop
popup_visible(erase_id)=0
gsel popup_wnd_id(erase_id), -1
return
462デフォルトの名無しさん:2011/09/18(日) 04:03:41.66
 
463デフォルトの名無しさん:2011/09/18(日) 16:04:49.54
公式掲示板は日に日に荒んで行くなw
公式より2chの方がまったりしてるとか貴重だわ
464デフォルトの名無しさん:2011/09/18(日) 17:05:41.20
何せ自称正義の味方が一杯いるからなw
自分ルールで素人のガキによってたかって文句つけてりゃ満足なんだろ
465デフォルトの名無しさん:2011/09/18(日) 17:26:02.59
船頭多くして船山に登る
466デフォルトの名無しさん:2011/09/18(日) 18:40:00.56
>>463
あんまし公式掲示板見ることないからな・・・
大抵ググれば解決するし、掲示板見るときも検索すれば大体分かるし
467デフォルトの名無しさん:2011/09/18(日) 21:53:00.72
リアル小中学生が質問する→暇人が速攻でいちゃもんつける→質問者逆切れ→暇人大喜び
の黄金パターンが確立されてる
468デフォルトの名無しさん:2011/09/18(日) 23:15:49.45
HSPDXFIXでes_getbuf命令で表示中の画面をキャプチャしたいんだけど真っ黒な画面しか取得できません。
サンプルの
es_getbuf -1
bmpsave "capture.bmp"
以外に記述しないといけない命令あります?
469デフォルトの名無しさん:2011/09/19(月) 00:01:52.28
試しに
es_getbuf -1
の行消して実行してみ
470デフォルトの名無しさん:2011/09/19(月) 00:04:44.86
es_getbuf はDirectXのバッファを指定する命令だから
普通にHSPで描画した画面を保存したい場合には必要ないよ
471デフォルトの名無しさん:2011/09/19(月) 00:15:16.53
へえ
472468:2011/09/19(月) 00:48:05.68
>>469
真っ白なbmpができるだけです。
>>470
DirectXで描画した画面のキャプチャ目的です。

で、windows7のサブPCだとちゃんとキャプチャできるのを発見。
XPのメインPCだと真っ黒(というかclsでクリアした色)のbmpができるだけです。
HSP本体もHSPDXFIXも同じバージョンなので考えられるのは
OSとDirectXのバージョンによるものかと・・・。
473468:2011/09/19(月) 07:00:32.71
原因はわからないままだけど
とりあえず手持ちのPCどれでもキャプチャできるスクリプトができたので解決しました。
474デフォルトの名無しさん:2011/09/19(月) 10:06:15.96
2chのdatを取得するテストプログラムを作ってるんですが
スレのアドレスをdatのアドレスにする時正規表現で変換しようと思い、replaceで置換したのですが、うまくいきません
とりあえず、必要な部分のソースだけ
あらかじめinputでurl1にスレのURLを代入します
これを実行してもurl2とurl3の内容が同じになってしまいます

url2 = replace(url1,dat_url1,"/",,,)
pos 0,25
mes url2
url3 = replace(url2,"\d{10}","dat/$&.dat",,,)
pos 0,45
mes url3
475デフォルトの名無しさん:2011/09/19(月) 10:21:05.84
書き忘れてました;;
1行目に↓が入ります

dat_url1 = "/test/read.cgi/"
476デフォルトの名無しさん:2011/09/19(月) 11:56:51.30
"\"を渡すには・・・
url3 = replace(url2,"\\d{10}","dat/$&.dat",,,)
477デフォルトの名無しさん:2011/09/19(月) 12:00:59.18
>>476
出来ました!ありがとうございます!
478デフォルトの名無しさん:2011/09/21(水) 23:59:12.79
test
479デフォルトの名無しさん:2011/09/24(土) 02:48:26.46
480デフォルトの名無しさん:2011/09/24(土) 21:05:55.08
>>477
いえいえ
481 忍法帖【Lv=5,xxxP】 :2011/09/25(日) 09:39:31.49
test
482デフォルトの名無しさん:2011/09/25(日) 11:25:59.00
>>478,479,481
ウザイからこっち池

[TEST] 書きこみテスト 専用スレッド 39 [確認]
http://hibari.2ch.net/test/read.cgi/software/1316603706/
483デフォルトの名無しさん:2011/09/29(木) 23:20:37.98
"を文字列で表すには?
"""だとだめなんです
484デフォルトの名無しさん:2011/09/29(木) 23:28:21.79
\"
485デフォルトの名無しさん:2011/09/30(金) 00:00:30.65
>>482
test
486デフォルトの名無しさん:2011/10/06(木) 21:18:26.41
( ゚д゚) ・・・



・・・( ゚д゚ )
487怪しい言語HSPさん:2011/10/06(木) 23:01:41.36
くそすれ
488デフォルトの名無しさん:2011/10/08(土) 16:51:46.50
え?
489デフォルトの名無しさん:2011/10/08(土) 21:46:38.62
敵にダメージ与えた時に白く光る効果を作りたいけど
敵と同じ形の白い画像用意するしかない?
490デフォルトの名無しさん:2011/10/08(土) 21:49:06.92
color 255,255,255 : boxf x1,y1,x2,y2
で出来る
491デフォルトの名無しさん:2011/10/08(土) 21:52:28.21
すごく・・・四角いです・・・
492デフォルトの名無しさん:2011/10/08(土) 21:52:57.99
分かりやすい効果だな
493デフォルトの名無しさん:2011/10/08(土) 22:18:20.56
ではmrefとpokeでVRAMに直接
494デフォルトの名無しさん:2011/10/08(土) 22:26:55.89
バッファで敵の上に白を塗る。
背景色以外の色を白に変えたものをバッファ間で用意しておけばいい。
ただ、これだと効率が悪いんだよな。
495デフォルトの名無しさん:2011/10/08(土) 22:44:05.85
だなw
496デフォルトの名無しさん:2011/10/09(日) 00:45:56.88
>>489
それが一番無難です。
497デフォルトの名無しさん:2011/10/09(日) 14:06:18.34
そうか?
498デフォルトの名無しさん:2011/10/09(日) 18:49:05.06
HSPでフォント一覧を作りたいのですが、一覧はできたのですが表示されるフォント名が
「HG-正楷書体」とかではなく「HGRSKP」となってしまいます。「HG-正楷書体」にしたいのですがどうやればいいのですか?
499デフォルトの名無しさん:2011/10/09(日) 20:00:48.20
>>498
hsp enumfonts でググればサンプルが見つかるよ
500デフォルトの名無しさん:2011/10/09(日) 21:22:06.84
>>493
あれVRAMじゃなくてただのDIBビットマップだよなw
501デフォルトの名無しさん:2011/10/13(木) 21:02:03.95
#cmpopt varinit 1 は #module や dim で作成してない変数をチェックするようにしてほしいな
代入式でいくらでも誤記できてしまう
502デフォルトの名無しさん:2011/10/13(木) 21:40:57.90
あると助かるな
503デフォルトの名無しさん:2011/10/13(木) 21:53:20.79
ツール使って作ったゲームは総じて糞
プログラミング言語使わずに作ったゲームは総じて糞
これだけはガチ
504デフォルトの名無しさん:2011/10/13(木) 21:59:24.22
>>501
VBみたいな機能が欲しいよな
505デフォルトの名無しさん:2011/10/13(木) 22:34:31.31
>>503
プログラミング言語やツールなしにゲームを作る方法教えて
506デフォルトの名無しさん:2011/10/14(金) 03:15:01.64
>>505
プログラミング言語もツールも使わずにゲーム作るのは無理。
ム板だからパソコン上で動くゲームと仮定して回答したけど、
紙のトランプとかそういうトリッキーな回答を期待してる?
507デフォルトの名無しさん:2011/10/14(金) 11:50:17.47
使った道具でゲームの面白さが変わると本気で信じてる奴ってまだいるんだな
508デフォルトの名無しさん:2011/10/14(金) 12:38:48.73
ゲームというのはルールあるところに常に存在する影のようなもの
509デフォルトの名無しさん:2011/10/14(金) 17:02:49.48
>使った道具でゲームの面白さが変わると本気で信じてる奴ってまだいるんだな

21世紀に入ってから10年以上経つのにまだこんな事を言う奴がいてびっくり
一瞬2ch初期の過去ログでも見てるのかと目を疑った
まぁIT関係から10年近く離れてたら最近の状況は分からないのかもな
510デフォルトの名無しさん:2011/10/14(金) 17:06:56.84
10年前から無職なんですね・・・
511デフォルトの名無しさん:2011/10/14(金) 17:11:37.99
なるほど、>>507は10年前から無職なのか、納得
512デフォルトの名無しさん:2011/10/14(金) 17:14:18.81
507「使った道具で遊園地の面白さが変わると本気で信じてる奴ってまだいるんだな」
ってノコギリとトンカチで遊園地作るタイプだな。
ゲーム開発でも同じだということに気付いてない。
513デフォルトの名無しさん:2011/10/14(金) 17:43:29.25
これがこの板に棲むという伝説の池沼か
HSPなんてターゲットにしてないで他逝って下さいよw
514デフォルトの名無しさん:2011/10/14(金) 18:01:44.58
ノコギリとトンカチで作られた遊園地って絶対楽しいだろ
515デフォルトの名無しさん:2011/10/14(金) 19:37:08.03
ツール使わないって、手作業でディスクを1bitづつ磁化しながらバイナリ作るとか?
516デフォルトの名無しさん:2011/10/14(金) 23:57:51.58
ツクール()のことだろw
517デフォルトの名無しさん:2011/10/15(土) 10:46:51.43
ゲーム作ったことないのでよくわからんが
ここ10年でゲームの面白さとツールの関係が何か大きく変化したのか?
518デフォルトの名無しさん:2011/10/15(土) 15:51:12.13
最近のゲームは大規模複雑化してるから、ツールの支援を得ながらチームで作ることが多いと聞くね
でもそういうゲームが面白いかどうかは知らない
519デフォルトの名無しさん:2011/10/15(土) 22:53:25.21
質問です。

次のスクリプトで、「開く」ボタンを複数回押すと動作が不安定になります。
これは、関連付けしてあるアクロバットリーダー側の問題でしょうか?

button "終了",*owari
button "開く1",*open_pdf
button "開く2",*open_pdf
stop

*open_pdf
objsel -1
if stat=1 { pdf_file="pdf_01.pdf" }
if stat=2 { pdf_file="pdf_02.pdf" }

exist dirinfo(1)+"\\"+pdf_file
if strsize>-1 { exec dirinfo(1)+"\\"+pdf_file,16 }
stop

*owari
end
520デフォルトの名無しさん:2011/10/16(日) 13:01:02.58
同じpdfを複数回開く意図がわからんな
521デフォルトの名無しさん:2011/10/16(日) 13:48:10.12
>>519
連打したときだけおかしくなるのか
時間を空け(pdfを開き終わってから)てもおかしくなるのかが分からない
522デフォルトの名無しさん:2011/10/16(日) 18:59:59.06
400文字の"0"と"1"だけの文字列A・Bを
xor演算した新たな"0"と"1"だけの文字列Cを作るという処理を
なるべく高速に処理するにはどのようなスクリプトが良いでしょうか

現在は
1:A・Bから32文字づつ取り出す
2:A・Bを数値に変換し、xor演算して 数値dを求める
3:e=strf("%08x",d) とし、16進数文字列eを求める
4:eを1文字づつ、switch構文で"0000"〜"1111"に切り分けて連結する
5:eをCに加算する
6:1〜5をA・Bから文字が取り出せなくなるまで続ける

という方法を行なっているのですが、
256*1024回ほどループさせるのに10分程かかります。
なにか速度を早くする良いアイデアはありませんでしょうか


523デフォルトの名無しさん:2011/10/16(日) 20:00:23.20
>>522
1バイトずつpeekで読み込んでxor、pokeでCに書き出すを繰り返し
524デフォルトの名無しさん:2011/10/16(日) 20:04:04.66
>>522
長さが4の倍数ならこれでおk
実行時間12秒
もっと高速化したいならDLL作ったほうがいい

src_len=400

sdim A, src_len+1
sdim B, src_len+1
sdim C, src_len+1

repeat src_len
poke A, cnt, rnd(2)+48
poke B, cnt, rnd(2)+48
loop

mes A
mes B

mes strf("%02d:%02d:%02d", gettime(4), gettime(5), gettime(6))
repeat 256*1024
repeat src_len/4
lpoke C, cnt, (lpeek(A, cnt)^lpeek(B, cnt))+0x30303030
loop
await
loop
mes strf("%02d:%02d:%02d", gettime(4), gettime(5), gettime(6))

mes C
525デフォルトの名無しさん:2011/10/16(日) 20:35:01.99
ありがとうございます。
早速試してみます。
DLLというものを全く知らないので、よろしければ参考になるサイトを
教えていただけませんか
526デフォルトの名無しさん:2011/10/16(日) 20:49:07.37
527526:2011/10/16(日) 21:19:15.60
なんかバカなことしてたので修正した
http://www1.axfc.net/uploader/Sc/so/284228.zip
528デフォルトの名無しさん:2011/10/16(日) 21:39:58.73
>>527
すいません、ちょっとうまく動かないようなのですが、
>>525
>>lpoke C, cnt, (lpeek(A, cnt)^lpeek(B, cnt))+0x30303030
という部分は

lpoke C, cnt*4, (lpeek(A, cnt*4)^lpeek(B, cnt*4))+0x30303030

ですよね
529デフォルトの名無しさん:2011/10/16(日) 21:41:12.83
>>528
その通りです
530デフォルトの名無しさん:2011/10/16(日) 21:43:16.67
ありがとうございます。
やってみたところ爆速になりました。
今までこういう命令は使ったことがなかったので参考になります。

+0x30303030 という部分が自分にはまったくわからなかったのですが、
この数字は数値に足すと文字コードになるようなマジックナンバーなのでしょうか??
531デフォルトの名無しさん:2011/10/16(日) 22:34:02.61
文字コード表とかググればすぐわかると思うが
0が$30で1が$31だからxorで消えたのを4文字分まとめて足しちまえってことだね
上にある+48も同じ意味
でも個人的には+じゃなくてorにしないとなんか不安
532デフォルトの名無しさん:2011/10/20(木) 20:44:50.70
不安か?
533デフォルトの名無しさん:2011/10/21(金) 12:02:55.69
(´・ω・`)うん
534デフォルトの名無しさん:2011/10/21(金) 15:32:06.64
質問です。

mes 命令で書いた文字を背景色をpget命令で取得し同じ場所に書いて消してから
別の文字を書いているのですが 完全には消えずに中身がくりぬかれて
枠のように残ってしまいますなぜでしょう?
文字サイズを大きくしたら残った部分がみえました。
535デフォルトの名無しさん:2011/10/21(金) 15:38:48.76
確かフォントをある程度大きくすると勝手にアンチエイリアスが効くんじゃなかったかな
536デフォルトの名無しさん:2011/10/21(金) 15:46:57.58
回答ありがとうございます
どこかに答えがありそうなのでその線で調べてみます
537デフォルトの名無しさん:2011/10/21(金) 19:44:59.43
いえいえ
538デフォルトの名無しさん:2011/10/22(土) 05:12:31.87
文字を消すならboxfやgcopyで塗りつぶした方が速いと思うぞ
539デフォルトの名無しさん:2011/10/22(土) 06:37:27.00
へえ
540デフォルトの名無しさん:2011/10/22(土) 23:18:40.28
そうなのか
541デフォルトの名無しさん:2011/10/23(日) 00:26:16.39
うん
542デフォルトの名無しさん:2011/10/23(日) 15:24:36.22
いいえ
543デフォルトの名無しさん:2011/10/24(月) 02:32:10.89
キー入力で画像を回転させるにはどうしたらいいんですか?
544デフォルトの名無しさん:2011/10/24(月) 04:56:31.98
>>543
buffer 1, 100, 50
celdiv 1, 100, 50, 50, 25
font msgothic, 50
mes "画像"

*hoge
stick key, 1|4
if key & 1 : degree-=3
if key & 4 : degree+=3
gsel 0
redraw 0
color 0, 0, 0 : boxf // 画面消去
color 255, 255, 255
pos 100, 50
mes "矢印キー左右で回転"
pos 320, 240
celput 1, 0,,, deg2rad(degree) // 画像を回転させて描画
redraw
await 10
goto *hoge
545デフォルトの名無しさん:2011/10/24(月) 15:20:56.06
ありがとうございます!
546デフォルトの名無しさん:2011/10/25(火) 07:17:16.51
exrand HSPというプラグインを探しているのですが、既に非公開のようなので、似たような乱数取得プラグインがあれば教えてください
547デフォルトの名無しさん:2011/10/25(火) 07:24:04.68
>>546
おま・・・元からプラグインでメルセンヌツイスタの乱数生成命令あるだろ・・・
548デフォルトの名無しさん:2011/10/25(火) 09:10:03.78
>>547
ケータイからなのでID違いで失礼します。
65536までの数値を指定したいのですが、既存のもので可能ですか?  
549デフォルトの名無しさん:2011/10/25(火) 10:55:45.36
どっかにMT乱数のモジュールがあったような気がする
550デフォルトの名無しさん:2011/10/25(火) 12:28:18.39
気がするね
551デフォルトの名無しさん:2011/10/25(火) 14:49:01.62
>>545
いえいえ
552デフォルトの名無しさん:2011/10/25(火) 14:49:40.80
rndf_geti
553デフォルトの名無しさん:2011/10/25(火) 16:13:46.12
>>548
残念ながらこのスレにIDなどない
>>552
554デフォルトの名無しさん:2011/10/26(水) 05:22:48.02
IDなどないよね
555デフォルトの名無しさん:2011/10/27(木) 19:51:09.52
>>548
rnd(32768) + rnd(32768) でどうだ?w
556デフォルトの名無しさん:2011/10/27(木) 21:00:38.55
>>555
そんな野暮なことするなら素直に
rnd(1)*32768+rnd(32768)
にしろよ
557デフォルトの名無しさん:2011/10/27(木) 21:59:39.89
>>555
足し算すると偏りがすごいことになるぞ
サイコロ二つ振ったら7が一番出やすくなるのと一緒
558デフォルトの名無しさん:2011/10/27(木) 22:35:40.41
double(rnd(32768)) / 32767 * 65536
559デフォルトの名無しさん:2011/10/27(木) 23:03:39.90
(rnd(256)<<8)|rnd(256)
560デフォルトの名無しさん:2011/10/28(金) 16:15:52.05
e?
561556:2011/10/28(金) 19:59:01.38
>>559
バイナリレベルではそれが一番早そうだな
あんまり深く考えずに書いたのが申し訳ないくらいだ
562デフォルトの名無しさん:2011/10/28(金) 20:04:07.97
(rnd(32768) *2)+ rnd(2)
563556:2011/10/28(金) 23:20:39.58
なるほどね
564デフォルトの名無しさん:2011/10/30(日) 14:08:01.48
おお
565デフォルトの名無しさん:2011/10/30(日) 14:09:41.50
次の質問者どぞ
566デフォルトの名無しさん:2011/10/30(日) 20:06:02.45
(´・ω・`)ショボーン
567デフォルトの名無しさん:2011/10/31(月) 12:27:43.62
キャラチップ・マップチップなどをbufferに置かず、
配列や変数などに代入して保持する方法で楽なのってありますか?

それとも、バニラの状態でやるよりDirectX拡張プラグインでもつっこんで
管理した方がやりやすいですか?
ご面倒ですがお教えいただけたら幸いです。
568567:2011/10/31(月) 12:36:53.74
追加説明
やろうしていることはキャラチップやマップチップ、Uiなどをオブジェクトとして登録しておいて
一括管理するという方法をとろうとしているのですが、

  <name=”tree" src="tree01.png">

みたいな感じで、あとからsrc="tree02,png"みたいに代えれたり、
あと、サイズも48*48とか64*64とかごちゃごちゃなものを同様に管理できたらなぁ〜って思いまして・・・
buffer上での管理だと、枚数が少なかったり、サイズの大小の組み合わせが面倒だったりで・・・
569デフォルトの名無しさん:2011/10/31(月) 12:55:32.23
バッファの数は、通常使用する分には無限にあるよね?
それでウィンドウIDを指定して(100番からは背景画像、200番からは設置物等)
管理するのが簡単だと思うんだけどなぁ。
570デフォルトの名無しさん:2011/10/31(月) 17:07:29.89
>>569
えっ!無限につかえるんですか?
0〜31までだと思っていましたw
これは2.XX系の仕様だったんでしょうかね?
無限に使用できるならなんとかなりそうです
ありがとうございました。
571デフォルトの名無しさん:2011/10/31(月) 18:45:46.43
hspってxmlを楽に扱えるライブラリとかあんの?
572569:2011/10/31(月) 21:08:32.20
>>570
2.Xはあまり使ったことが無いので分からないけども、
今の最新バージョンではウィンドウIDは、ほぼ無制限に指定できる。
(ウィンドウIDに指定できるのは0以上の整数だけどね)
573デフォルトの名無しさん:2011/10/31(月) 22:40:00.84
>>572
ありがとうございます。
このあたり、制限がないのは使いやすいですね
ただ、bmp意外の画像ファイルを使う場合には
いちいちbufferサイズを指定してやらないとだめそうですね
(表示画面内に収まるキャラチップなどならいいですが、スクロールさせる画面背景などの場合とか・・・)
574デフォルトの名無しさん:2011/10/31(月) 22:45:52.13
>>573
サイズが大きいものは、ウィンドウサイズを指定しないとうまく読み込まれなかった気がする。
でも、bmp以外はそうだっけなぁ。
pngは使ってみたことがあるけど、サイズ指定しなくても別に問題なかったよ。
575デフォルトの名無しさん:2011/10/31(月) 23:40:15.93
>>574
色々ありがとうございます
最終的にはSUZUKAみたいな処理が出来ればいいんですけどね
これから、色々頑張ってみます〜
576デフォルトの名無しさん:2011/11/01(火) 00:24:47.09
pngって標準で使えるんだったっけ
picloadじゃ無理じゃなかった?
わざわざimgloadを拡張して使ってた経験あるんだけど
577デフォルトの名無しさん:2011/11/01(火) 00:37:03.45
png標準は無理だわ、何かincludeして使ってたんだっけな
578デフォルトの名無しさん:2011/11/01(火) 01:01:55.22
たぶんmod_img.asだ
579デフォルトの名無しさん:2011/11/01(火) 11:12:15.45
mod_img.asはIEが最近のバージョンになってるとちゃんと動かない
少し前のHSP製のゲームでpng画像表示できなくなってるのがある
GDI+対応のプラグインの方が良いと思う
580デフォルトの名無しさん:2011/11/01(火) 14:44:13.89
良いと思うね
581デフォルトの名無しさん:2011/11/01(火) 22:09:42.53
absとabsf…
うヴぉぁぁあ
582デフォルトの名無しさん:2011/11/02(水) 22:08:21.07
モジュール変数の数には限りがありますか?
newmod実行しまくると3万くらいでエラーが出ます
583デフォルトの名無しさん:2011/11/04(金) 20:12:19.35
内緒
584デフォルトの名無しさん:2011/11/05(土) 17:27:04.92
スパゲッティになってないかしきりに不安なので
一度他人に見てもらいたいのですがこのスレが最適ですか?

ちなみに324行あります
585デフォルトの名無しさん:2011/11/05(土) 17:45:06.07
>>584
適当に書き直してもいいなら
586デフォルトの名無しさん:2011/11/05(土) 18:08:30.40
ふーん
587デフォルトの名無しさん:2011/11/05(土) 18:11:38.57
>>585
行数制限がありそうな予感がしたので本家でやろうと思います
ありがとうございましたー。
588デフォルトの名無しさん:2011/11/05(土) 22:08:55.22
いえいえ
589デフォルトの名無しさん:2011/11/06(日) 19:13:24.14
よし
590デフォルトの名無しさん:2011/11/07(月) 07:58:33.61
ちょっと配列について質問です。

a="dimdim"
dim a,10,10

みたいに変数をつかった配列宣言ってできないものなんでしょうか?
擬似的・回避テクニックなどがあれば教えていただけないでしょうか?
591デフォルトの名無しさん:2011/11/07(月) 08:31:57.56
よく分からないけど
#define testdim(%1,%2,%3) dim %1,%2,%3
testdim abc,2,5
こういうこと?
592デフォルトの名無しさん:2011/11/07(月) 15:41:52.35
>>591
あっ!そういうことです。
DEFINEがありましたね。
ありがとうございますm(_ _)m
593デフォルトの名無しさん:2011/11/07(月) 18:24:37.70
>>592
いいよ、お礼なんか
594デフォルトの名無しさん:2011/11/07(月) 21:29:54.92
>>593
オレがお礼されている間にお前は逃げろ
595デフォルトの名無しさん:2011/11/08(火) 07:46:05.78
>>593
なんかかっこいいな〜
塗れたわw


男だけどw
596デフォルトの名無しさん:2011/11/08(火) 07:57:26.40
ついでになんですが
今、実行プログラムの他にテキストでスクリプト読ませて
後から実行プログラム弄らなくても色々変更できるような
物をつくっていたら、なんだか言語開発しているような
状態になってきたんですよねw

スレ違いで大変申訳御座いませんが、
暇な方が居られたらご協力とか御願いできませんかね?
597デフォルトの名無しさん:2011/11/08(火) 11:28:38.16
え?
598デフォルトの名無しさん:2011/11/08(火) 12:55:48.00
HSPはハードコーディングでサクっと書く以上のことは追い求めない方がいい
そこまでやるならそろそろHSPは卒業する時期だよ
他言語には最初からそういう用途で使えるPythonやLuaがある
599デフォルトの名無しさん:2011/11/08(火) 14:24:58.65
確かに普通にCOMあたりで実装してスクリプト使えばいいよな。
600デフォルトの名無しさん:2011/11/08(火) 17:32:45.11
COMなんて16ビットアプリケーションじゃないの?
32bitのEXEのほうがよくね?
601デフォルトの名無しさん:2011/11/08(火) 17:35:21.38
>>600
COMインターフェイスだろ
602デフォルトの名無しさん:2011/11/08(火) 20:25:51.20
PythonやLuaとかやろうとおもったけど画面出すだけでもハードルが高いので
無理でした
603デフォルトの名無しさん:2011/11/08(火) 20:45:22.07
画面の出しやすさを求めるなら、2つ以上の言語を組み合わせるということもあり得そうだ
604意味の人が、このことは多い!:2011/11/08(火) 22:40:18.63
本家よりここの人の方が親切な気がする。
本家は嫌な人の場合、[質問文の意味が分かりません]
とか言って、そいつは逃げる。
んで、他の人が教えてくれる。
2chではそんなニとはない。
605デフォルトの名無しさん:2011/11/08(火) 22:59:57.69
>>600
お前恥ずかしいなw
606デフォルトの名無しさん:2011/11/08(火) 23:10:26.97
>>604
> 2chではそんなニとはない。
OCRソフトでも使ってるの?
607デフォルトの名無しさん:2011/11/09(水) 00:06:54.53
windowsXPから7(32bit)に移行したらHSPDXFIX使ったスクリプトの終了時に
エラーが出るようになったんだけど同じ症状の人いる?
DirectXのバージョンのせいかと思ってるんだけど回避する方法ないかな?
608596:2011/11/09(水) 07:55:20.77
ここは皆さん親切だし、HSPだけじゃない
色々な情報があって勉強になるなぁ〜

とりあえず、まとまった形になったら、一度公開するので
その時は添削していただけたら幸いです。
609デフォルトの名無しさん:2011/11/09(水) 09:59:01.25
うん
610デフォルトの名無しさん:2011/11/10(木) 18:51:14.61
(´・ω・`)…
611デフォルトの名無しさん:2011/11/13(日) 05:14:59.43
>>607

hspdxfix.as / hspdxfix.dllは何処で入手した?
あとちゃんとes_byeしてる?
612デフォルトの名無しさん:2011/11/13(日) 23:40:54.42
>>611
ググって最初にくるとこ(ver.0.19c)
もちろんes_byeしてる
XP環境じゃ問題なかったり
613デフォルトの名無しさん:2011/11/14(月) 01:29:50.25
>>612

となると残りはas / dllの場所とHSPのverくらいだな…
自分のは64bit 7だけども普通にできてたからね
614607:2011/11/14(月) 02:16:11.33
ウィンドウモードだと下記のエラーが出る
「hsp3.exeは動作を停止しました。」→
「問題が発生したためプログラムが正しく動作しなくなりました。〜」
フルスクリーンだと出ない
他の人のHSPDXFIX使ってる作品でも同様のエラーが出てる
これはウチのPC固有の問題なのかな・・・
615デフォルトの名無しさん:2011/11/14(月) 11:04:28.70
DirectX更新してグラフィックドライバも更新しとけ
616デフォルトの名無しさん:2011/11/14(月) 12:11:13.15
>>614

言うとhspdxfixは仕様がウィンドウモード非推奨
617デフォルトの名無しさん:2011/11/15(火) 10:27:41.96
へえ
618デフォルトの名無しさん:2011/11/15(火) 10:45:13.24
ヘルプファイル調べてて気付いたけどHSPDXFIXってHSPDXに統合されてるんだな
インクルードするのHSPDXに変えても全く同じ動作するわ
作者のHP見たら「今ではこれが本体に取り込まれてる」って書いてるし
619デフォルトの名無しさん:2011/11/15(火) 11:59:52.58
書いてるのか
620デフォルトの名無しさん:2011/11/15(火) 19:25:51.87
ttp://sprocket.babyblue.jp/html/hsp_sqlele.htm

このモジュールの使い方の質問していいですか?
621デフォルトの名無しさん:2011/11/15(火) 19:36:20.68
>>618
元々HSPDXのバグ取りと命令追加したものだからな
統合って言うかHSPDXはもう修正も何も行われないからHSPに同梱されるのが
HSPDXFIXの名前変えてHSPDXとして入れてる
622デフォルトの名無しさん:2011/11/16(水) 20:10:37.88
へえ
623デフォルトの名無しさん:2011/11/18(金) 00:42:07.74
>>620
それHSP3.3には標準で同梱されてるけど
624デフォルトの名無しさん:2011/11/18(金) 06:38:47.10
>>620
使い方も何もそこにサンプル乗ってるじゃん。
それで分からんのなら諦めな。
625デフォルトの名無しさん:2011/11/18(金) 15:11:24.44
コンテスト・・予選すら通りません。

イジメです。なんとかして下さい!! 
626デフォルトの名無しさん:2011/11/18(金) 16:21:37.23
アイディアをもうちょっと練ってみてばどうかな
プログラムコンテストなのでプログラムの技術力が必要なのは言うまでもないが、
それ以外にも作品の、視覚的・聴覚的な部分も含めた完成度が問われるコンテストだからね。
627デフォルトの名無しさん:2011/11/18(金) 18:41:18.40
2年ほど前に適当に書いたやつが出てきたのでうp

デスクトップユーティリティ アイボール

http://ideone.com/l74hL

実用性皆無w
628デフォルトの名無しさん:2011/11/18(金) 20:55:24.22
exrandのソース持ってる人いる?
isweb閉鎖でgetできん
629デフォルトの名無しさん:2011/11/18(金) 21:38:35.69
かわいそうに・・・
630デフォルトの名無しさん:2011/11/19(土) 02:42:55.44
>>625
通らないって事はよっぽど糞なソフト作ったんだろ。
もっとまともな物を作りなさい!
631デフォルトの名無しさん:2011/11/19(土) 13:05:58.76
ナマイキな
632デフォルトの名無しさん:2011/11/19(土) 16:49:56.67
>>625
一次審査通過した作品見れば自分に足りなかった物が少しは分かるだろ
633デフォルトの名無しさん:2011/11/19(土) 22:18:28.92
(´・ω・`)
634デフォルトの名無しさん:2011/11/20(日) 13:30:04.49
来年からネット審査員になって参加賞ゲットしてやる!!
そんでもって、上から目線で優勝しそうなやつを片っ端からけなしてやる!!

だって、貶すのは簡単だもんねwww 基地でも出来るよwww
635デフォルトの名無しさん:2011/11/20(日) 14:08:37.48
>>634 がんばれ!応援してる。
636デフォルトの名無しさん:2011/11/20(日) 14:08:51.68
来年優勝する予定の俺涙目
637デフォルトの名無しさん:2011/11/20(日) 15:00:17.33
明日から本気出す
638デフォルトの名無しさん:2011/11/20(日) 15:02:08.55
本気ねえ(笑)
639デフォルトの名無しさん:2011/11/20(日) 19:07:29.00
これも毎年恒例だな。
一次通過も出来もない奴の愚痴w

それはそれで、面白いんだが。
640デフォルトの名無しさん:2011/11/21(月) 11:44:28.22
>634
登録抹消されて参加賞も無しになるだけだが
まあせいぜい頑張ってくれ
641デフォルトの名無しさん:2011/11/21(月) 14:44:31.45
mixiの日記などを自動でUPするものを作りたいと思うのですが、何か参考になるサイトってありますか?
Perlやphpなどは、さっぱりわかりません・・・
642デフォルトの名無しさん:2011/11/21(月) 15:02:53.32
まずHTTPプロトコルとユーザ認証を勉強しようか
ああいうものの認証の仕組みを理解してからもう一度質問してみな
643デフォルトの名無しさん:2011/11/22(火) 19:11:37.19
つかれたー!!
644デフォルトの名無しさん:2011/11/22(火) 19:41:20.68
おねむりなさい
645デフォルトの名無しさん:2011/11/23(水) 18:18:38.36
getkeyで「@」や「;」の入力を取得できますか?
キーコード取得サンプルで番号見てgetkeyに渡しても反応なし・・・

title "キー入力してください(^^)v"
onkey *inkey
onclick *inkey
stop
*inkey
if lparam>>30:stop
mes iparam
stop
646デフォルトの名無しさん:2011/11/23(水) 18:23:15.35
普通に取得できたけど?
647デフォルトの名無しさん:2011/11/23(水) 18:27:15.05
ああそういう意味か。
getkeyのヘルプを見ると、「この表に載っているキー以外でも、取得できる場合があります。」
と書いてあるんで、取得できないと思っておいたほうがいいと思う。
どうしても必要なら、サンプルのようにシステム変数使って渡してみたらどうかな。
648デフォルトの名無しさん:2011/11/23(水) 19:01:57.52
ありがとうございます。
649デフォルトの名無しさん:2011/11/23(水) 19:03:49.19
いえいえ
650デフォルトの名無しさん:2011/11/24(木) 21:34:02.96
windows7(64)でmod_img.asの替りにpngを簡単に
表示する方法ってないですか?
すみませんがおしえてください
651デフォルトの名無しさん:2011/11/25(金) 00:49:32.09
Hspng.dll
libpng.dll
imgctl.dll
ほかPNG読み込みが可能なDLLを探す
画像ファイル の表示
ttp://lhsp.s206.xrea.com/hsp_tips3.html
652デフォルトの名無しさん:2011/11/25(金) 07:53:09.79
>>651
ありがとうございます
しかし、windows2000からいきなり7(64)に環境をかえたんですが
imgloadどころかpicloadすら表示しない時がありますね・・・
なんかコツというか手順をすこし変えてやらないとだめなのかな?
653デフォルトの名無しさん:2011/11/25(金) 23:16:05.05
>>652
いえいえ
654デフォルトの名無しさん:2011/11/26(土) 00:30:57.92
>>650 GDI+じゃ駄目なのか?
655デフォルトの名無しさん:2011/11/26(土) 07:36:04.81
>>654
まだまだ初心者なので・・・
結局のところ、png⇒bmpにファイル変更してpicloadで解決しました。
656655:2011/11/26(土) 10:15:53.82
う〜ん
結局、pngからbmp、imgload⇒picloadにして表示はされるようになったんですが
滅茶苦茶遅い・・・
高々、マップチップをx,y,zの35*35*16個並べて移動させるだけで激重い・・・
標準の命令では限界かな?
やはり、グラフィック系のプラグインを導入して高速化を図るしかないですかね?
GDI+とかも速いですか?
速い・分かりやすいプラグインがあれば教えてください
657デフォルトの名無しさん:2011/11/26(土) 12:21:40.73
それくらいで重いって…?
まさか毎回picloadしてるんじゃあるまいな?
658デフォルトの名無しさん:2011/11/26(土) 12:23:58.78
>>656
35x35x16 ってのがどういう意味か分からん
16枚のレイヤーって意味なら多すぎるから減らすべき
659デフォルトの名無しさん:2011/11/26(土) 12:32:33.21
いや、マップチップ・キャラチップの読み込みは一度きりで
クォータービューのマップなので
X、Y、Zの3軸分のマップチップを作業用のbufferにgocpyで並べて
並べ終わったら、表示スクリーンに倍角でコピーしてるだけです
660デフォルトの名無しさん:2011/11/26(土) 14:53:48.47
>>659
描画無しで配列を読むだけでも重いからマップデータの持たせ方を変えたほうがいい
661デフォルトの名無しさん:2011/11/26(土) 16:46:25.63
>>660
マップデータを配列に放り込むんじゃなくて
一つの変数に放り込んんでpeekとかで読み出すとかですか?
662デフォルトの名無しさん:2011/11/26(土) 17:37:30.08
peekでマップデータ読み出す形式に変更しても速さはあまり変わらないですね・・・
やはり、gcopyの処理が重いみたいですね・・・
663デフォルトの名無しさん:2011/11/26(土) 18:03:42.07
>>662
階層構造になる箇所が少ないなら
基本的に2次元のデータで扱うようにするってこと
664デフォルトの名無しさん:2011/11/26(土) 18:28:04.61
>>662
拡大コピーが遅いんじゃねーの?
マップデータを拡大した物をバッファにおいて、
それをgcopyでコピーすれば?
665デフォルトの名無しさん:2011/11/27(日) 00:29:09.12
フレームごとに並べなおしてるわけ?
666デフォルトの名無しさん:2011/11/27(日) 00:32:01.04
>>662
まずどの部分でどれだけ時間かかかってるか調べろ

★ゲーム製作期待の星! HSP Part 9 ★
http://hibari.2ch.net/test/read.cgi/gamedev/1005313791/182
↑サンプル

gzoomはズームさせるとgcopyの倍ぐらいの処理時間だがハーフトーン使うと更に倍近い時間掛かる
マップ作る時に重なって上書きさせる部分が大量に無い限り664の方法が早い
667デフォルトの名無しさん:2011/11/27(日) 00:37:50.94
hspで野球拳ゲームのサンプルある?
668655:2011/11/27(日) 00:59:09.86
>>665
動き回るごとに並べ直してます
>>666
重なり上書き部分が多いのでgcopyで並べてから拡大してます。
というか、ウィンドウサイズに合わせてマップチップを並べると
並べるチップ数が増えて激重になるので苦肉の作として拡大しましたw

あと
マップデータをpeekに変えて
表示のルーチンを見直して
ウィンドウサイズを800,600から640,480にして
マップの大きさを27*27*17にしたらなんとか実用に耐える速度になりました
結構なんとかなるものですね
669デフォルトの名無しさん:2011/11/27(日) 11:32:50.35
マップチップをマップデータ化したバッファは用意してあるの?
既にやっていると思うけど念のために聞いてみる
670デフォルトの名無しさん:2011/11/27(日) 14:27:06.97
dim key_type , 60
repeat 5 , 0

key_type.cnt*12 = cnt*12
key_type.(cnt*12+1) = cnt*12+1
key_type.(cnt*12+2) = cnt*12+2
key_type.(cnt*12+3) = cnt*12+3
key_type.(cnt*12+4) = cnt*12+4
key_type.(cnt*12+5) = cnt*12+5
key_type.(cnt*12+6) = cnt*12+6
key_type.(cnt*12+7) = cnt*12+7
key_type.(cnt*12+8) = cnt*12+8
key_type.(cnt*12+9) = cnt*12+9
key_type.(cnt*12+10) = cnt*12+10
key_type.(cnt*12+11) = cnt*12+11

loop

配列には、自身の添え字の値が入ってるはずなんだけど、なぜか所々0になってて意味がわからない・・・
671デフォルトの名無しさん:2011/11/27(日) 14:31:15.10
ああああ
カッコいるんですね失礼しました
672デフォルトの名無しさん:2011/11/27(日) 21:39:57.11
まあね
673デフォルトの名無しさん:2011/11/28(月) 00:27:09.76
はらへったなあ
674デフォルトの名無しさん:2011/12/01(木) 23:03:28.26
へえ
675デフォルトの名無しさん:2011/12/02(金) 12:20:07.45
書き込みがなくなったね・・・
676デフォルトの名無しさん:2011/12/02(金) 16:58:05.64
hspはオワコン
677デフォルトの名無しさん:2011/12/02(金) 18:59:57.99
そもそも始まってすらいねーよ
678デフォルトの名無しさん:2011/12/02(金) 20:27:02.75
こりゃ失敬。
679デフォルトの名無しさん:2011/12/03(土) 05:06:22.46
ぼくがかんがえた最強のステップアップ
RPGツクールVX

HSP

C言語
これでゲームクリエイターよゆう
680デフォルトの名無しさん:2011/12/03(土) 12:46:10.57
RPGツクールVXというと、Rubyが搭載されているから、つまりこういうことか
Ruby

HSP

C
681デフォルトの名無しさん:2011/12/11(日) 23:31:41.69
マップというか、ブロックみたいなのを画面に沢山並べたいんだけど・・・・。

x=0
color 0, 0, 255: boxf x+48*x, 0, x+48*x+48, 24
x=2
color 0, 0, 255: boxf x+48*x, 0, x+48*x+48, 24
x=4
color 0, 0, 255: boxf x+48*x, 0, x+48*x+48, 24//以下略

配列に上手くまとめるにはどうすればいいんですか?
682デフォルトの名無しさん:2011/12/11(日) 23:39:38.09
配列なら
dim a,length,width
foreach a
color 0,0,255 : boxf x*49, 0, x*49+48,24
loop
これでいいんじゃね?
683デフォルトの名無しさん:2011/12/12(月) 16:57:34.03
座標苦手…

sx = 48
sy = 24
cx = 8
cy = 4
ox = 2
oy = 2
dim bx, cx, cy
dim by, cx, cy

left = 100
top = 75
color 0, 0, 255

y = 0
repeat cy
x = 0
repeat cx
bx(x, y) = left + (ox * x) + (sx * x)
by(x, y) = top + (oy * y) + (sy * y)
boxf bx(x, y), by(x, y), bx(x, y) + sx - 1, by(x, y) + sy - 1
x++
loop
y++
loop
684681:2011/12/12(月) 17:02:17.71
ありがとうございます。
がんばって解読してみます。
685デフォルトの名無しさん:2011/12/15(木) 18:35:12.27
いえいえ
686デフォルトの名無しさん:2011/12/20(火) 00:45:01.27
HSP3掲示板

ホストは管理者により拒否されています。

うぜー
数ヶ月ぶりに解答しようとしたらこれだよ・・・
687デフォルトの名無しさん:2011/12/20(火) 06:34:23.82
>>686
あんな糞板に書き込むことねーって。
688デフォルトの名無しさん:2011/12/20(火) 11:24:06.74
あり。
689デフォルトの名無しさん:2011/12/20(火) 23:53:28.42
>>687=垂れ餡?w
690デフォルトの名無しさん:2011/12/21(水) 06:41:17.18
>>689
あんなカスと一緒にすんな!!
691デフォルトの名無しさん:2011/12/24(土) 13:27:59.99
#include "hspda.as"
a = "B\nC\nA"
pos 200 , 200 : mes a
sortnote a
pos 300 , 200 : mes a

エディタではエラーは出ないんですが、実行ファイル生成して実行すると
内部エラー(38)が出てしまいます。
sortnoteはバグがあるとか聞いたことあるのでそのせいかなーと思うんですが対処法はあるんでしょうか?
692デフォルトの名無しさん:2011/12/24(土) 13:33:48.00
hspda.dllをフォルダにぶち込んでやったら動いた
なぜリファレンスに書いてないんですかね・・・(憤怒)
693デフォルトの名無しさん:2011/12/24(土) 13:57:50.46
ジョウシキダカラー
694デフォルトの名無しさん:2011/12/24(土) 14:56:46.24
HSP関係者って内内で常識かざして来るよね
掲示板もマニュアル読めとかタグ付けろとか字下げしろとか注釈入れろとか
自動でパックファイルに居れる選択肢も有って良い気もするが・・・
695デフォルトの名無しさん:2011/12/24(土) 15:41:11.79
マダワカッテナイナー
696デフォルトの名無しさん:2011/12/24(土) 18:33:10.61
>>694
dllをexeに埋め込んでも動くわけねーだろ。
馬鹿かおまえ。
697デフォルトの名無しさん:2011/12/24(土) 23:58:19.44
そんじゃ〜動くようにしてもらわんとな。
698デフォルトの名無しさん:2011/12/25(日) 00:01:59.47
動かせるよ
699デフォルトの名無しさん:2011/12/25(日) 05:53:11.38
動かせるよだよね
700デフォルトの名無しさん:2011/12/25(日) 05:56:34.72
へえ
701デフォルトの名無しさん:2011/12/25(日) 23:04:34.28
#funcを無効にする方法ってありますか?
user32.as等を使った上で一つだけ#cfuncにしたいのだけど
702デフォルトの名無しさん:2011/12/25(日) 23:36:07.36
別名変えて再定義かな。
703デフォルトの名無しさん:2011/12/25(日) 23:54:19.02
>>701
#define CreateWindow CreateWindowHidden
#include "user32.as"
#undef CreateWindow

#uselib 〜
#defcfunc 〜
704701:2011/12/26(月) 00:12:49.61
>>702
思いつかなかった。それでよさそうです。
>>703
なるほど。勉強になります。

お二方ともありがとうございました。
705デフォルトの名無しさん:2011/12/26(月) 00:57:41.46
初カキコ


3日前はじめたんだがとりあえず
mesとposとbuttonとif(else)とgotoとrandmizeと(ry
で初歩的なゲームを作ったんだがまさかif文に悩まされるとは思ってもなかった


エクセルやっててよかったなと改めて思った一瞬である


まさかこの言語って小数点以下が無い?
706デフォルトの名無しさん:2011/12/26(月) 01:04:25.43
>>705
型変換に注意が必要
式の一番最初の型に合わせられる

2/3.0 は 0
2.0/3 は 0.6666666
707デフォルトの名無しさん:2011/12/26(月) 02:14:56.60
double()で型変換も出来るがや。
refdvalが実数の返り値やで〜
708デフォルトの名無しさん:2011/12/26(月) 07:33:58.16
ひゅう〜ひゅう〜
709デフォルトの名無しさん:2011/12/26(月) 07:36:05.34
へえ
710デフォルトの名無しさん:2011/12/28(水) 21:57:06.89
大文字と小文字を区別して記述できる機能がついたら、いいなぁ
711デフォルトの名無しさん:2011/12/29(木) 11:01:24.96
いいねえ
712デフォルトの名無しさん:2011/12/29(木) 11:34:53.96
モジュールの引数に初期値欲しいかな〜
現状マクロで対応は恰好悪い
欲言うとオーバーライドも・・・
713デフォルトの名無しさん:2011/12/29(木) 13:23:56.45
オーバーライドもだよね
714デフォルトの名無しさん:2011/12/29(木) 13:33:38.31
クラスが欲しい
VB6レベルでいいから
715デフォルトの名無しさん:2011/12/29(木) 17:37:14.61
まずは構造体だろ
716デフォルトの名無しさん:2011/12/31(土) 09:52:14.05
構造体だね
717デフォルトの名無しさん:2011/12/31(土) 10:47:35.48
親戚のおばちゃん(ヨン様の時に韓流にはまってた)も韓流飽きてたで
BSの番組表見ると吐き気する言うてた
んで今は台湾ドラマにはまってるとさ
718デフォルトの名無しさん:2011/12/31(土) 13:16:50.09
韓国LGディスプレーの中国工場でスト、大赤字の同社に打撃

中国経済網は29日付で「ストライキの原因は年末のボーナス削減と韓国人従業員への差別的待遇に対する中国人従業員の不満だ」と報じた。
LGDの南京工場では26日から28日にかけて生産ラインが完全に停止し、関連工場にも影響が出た。

南京市経済開発区管理委員会に所属する呉主任は「今回の件はストライキでもサボタージュでもなく、工場が臨時休業しているだけ」と述べたが、
記事は「LGディスプレーは2011年、約670億円の赤字を出したことで、従来までは月給3カ月分だった年末ボーナスの支給そのものが難しくなった。
これは従業員の不満を招いたことに起因するストライキだ」と報じている。

http://news.searchina.ne.jp/disp.cgi?y=2011&d=1230&f=business_1230_116.shtml
719デフォルトの名無しさん:2012/01/01(日) 03:45:40.37
自機(△)動かしたいんですが、間違いがあるみたいです。
screen 0,200,320,0
xmax=11:ymax=19:mx=7:my=7
xstep=16:ystep=16
*mainlp
color 0,0,0:boxf
gosub *memove

await 100
goto *mainlp
*mamove
;key input
stick key,15,1
if key&1:mx--
if key&2:my--
if key&4:mx++
if key&8:my++
;max min check
if mx < 0:mx = 0
if mx > xmax :mx = xmax
if my < 0:my = 0
if my > ymax : my = ymax
color 0,128,0
pos mx*xstep,my*ystep
mes "△"
return
stop
720デフォルトの名無しさん:2012/01/01(日) 03:48:17.71
助けてください・・・
721デフォルトの名無しさん:2012/01/01(日) 03:51:27.69
>>719
エラーメッセージを読めばスペルミスが分かるんじゃね?
722デフォルトの名無しさん:2012/01/01(日) 03:52:36.20
>>721
#HSP script preprocessor ver3.3RC1 / onion software 1997-2011(c)
#Use file [hspdef.as]
#HSP code generator ver3.3RC1 / onion software 1997-2011(c)
#未初期化の変数があります(key)
#ラベルが存在しません [memove]
???(27) : error 19 : 致命的なエラーです (27行目)

って出たんですが・・・
723デフォルトの名無しさん:2012/01/01(日) 03:53:58.57
>>722
ラベルが無いんだから仕方ない
724デフォルトの名無しさん:2012/01/01(日) 03:55:23.97
>>723
ラベル?
725デフォルトの名無しさん:2012/01/01(日) 03:57:39.12
>>724
*memove
*mamove
726デフォルトの名無しさん:2012/01/01(日) 03:59:28.01
>>725
ありがとうございます!
動きます!△動いてm巣!s
727デフォルトの名無しさん:2012/01/01(日) 09:33:02.44
>>726
馬鹿すぎる
728デフォルトの名無しさん:2012/01/01(日) 11:05:31.63
NHK付近で31日、紅白歌合戦に反対するデモが繰り広げられた。
東方神起、少女時代らの出演に対するもので、「韓流紅白をぶっ飛ばせ」というプラカードも。
警察官によると、参加者は約180人。NHKホール付近では
「韓国のグループが出ている番組を、日本の国民的行事と言えるのか?」と叫ぶ参加者も。

ソース: スポーツ報知
http://hochi.yomiuri.co.jp/entertainment/news/20120101-OHT1T00029.htm

動画
http://live.nicovideo.jp/watch/lv75734978
http://live.nicovideo.jp/watch/lv75645918
729デフォルトの名無しさん:2012/01/01(日) 16:37:56.71
多分どこかから丸々パクってきたんだろこいつ
自分で書いたものならmemoveとmamoveの間違いに気付かないはずがない
730デフォルトの名無しさん:2012/01/01(日) 18:27:46.73
神武天皇即位紀元(じんむてんのうそくいきげん)は、
初代天皇である神武天皇が即位したとされる年を元年
(紀元)とする、日本の紀年法である。

略称は皇紀(こうき)という。外にも、皇暦(こうれき)、
神武暦(じんむれき)、神武紀元(じんむきげん)、
日紀(にっき)などともいう。
年数の英字表記では、「Koki」や「Jimmu Era」などといい、
皇紀2660年を「Koki 2660」「Jimmu Era 2660」などと表記する。
紀元節(現在の建国記念の日)廃止までは、
単に「紀元」と言った場合には、神武天皇即位紀元(皇紀)を指していた。

西暦2012年は、神武天皇即位紀元皇紀2672年である。
731デフォルトの名無しさん:2012/01/02(月) 17:50:01.92
こんなエラーが出たんですが、どこが悪いんでしょうか?
#HSP script preprocessor ver3.3RC1 / onion software 1997-2011(c)
#Use file [hspdef.as]
#Error:SJIS space code error in line 101 [stg.hsp]
#Fatal error reported.
732デフォルトの名無しさん:2012/01/02(月) 17:53:30.88
>>731
全角空白だろ
733デフォルトの名無しさん:2012/01/02(月) 17:59:50.88
>>732
ありがとうございます、解決しました。
734デフォルトの名無しさん:2012/01/02(月) 18:16:21.49
いえいえ
735デフォルトの名無しさん:2012/01/03(火) 09:03:52.20
HSP の font 命令 について質問です

font 命令が実行されたときに
先に選ばれていた(SelectObjectで返されるHGDIOBJECT)フォントが破棄(DeleteObject)されるようになっているのでしょうか?
それとも前のフォントのハンドルをどこか別に記憶していて破棄しているのでしょうか?

CreateFontIndirect と SelectObject を使って斜め向きのフォントを描きたいのですが
自前で DeleteObject するべきかしないべきかが分からなくて困っています
何度も使う予定なのでリソースリークはさせたくありません

以上、よろしくお願いします
736735:2012/01/03(火) 11:28:16.68
>>735 について解決したかもしれません
間違っていたら指摘をお願いします

結論
新たに設定した hfont を BMSCR の hfont に代入しておけばOK

手順
1.CreateFontIndirect で HFONT を作成する
2.SelectObject でフォントを選択する
3.DeleteObject で以前の HFONT を破棄する
4.BMSCR の hfont (152バイト目) に新しく SelectObject した HFONT を代入する
以上!
737デフォルトの名無しさん:2012/01/03(火) 19:18:59.03
STGで自機が画面の一番上に配置されるようになり
下方向キーと上方向キーが使えないんですが
どうすれば良いんでしょうか
738735:2012/01/03(火) 19:30:44.45
>>737
変数名の書き間違いです
739デフォルトの名無しさん:2012/01/03(火) 19:34:49.57
>>737
もう一つの可能性は計算途中で三角関数を使っているために
0 を掛けたことになっている(稀に 1 or -1 扱いになって移動できるかもしれない)
740デフォルトの名無しさん:2012/01/03(火) 19:37:22.55
>>738-739
ありがとうございます
変数の書き間違いでした
741デフォルトの名無しさん:2012/01/04(水) 02:18:07.72
タッチパネル用の命令ってないのかな
2点のやつはサンプルあったけど、普通に1点だけのがわかんない

ボタン命令じゃ不便なのよね
742デフォルトの名無しさん:2012/01/04(水) 23:18:13.77
掲示板ありが仕事サボッてるのか?
743デフォルトの名無しさん:2012/01/05(木) 01:43:23.88
backdrop乙
744デフォルトの名無しさん:2012/01/05(木) 16:59:42.69
人民元暴落間近、実はマイナス成長の中国GDP

アメリカの研究者の中には、今年の中国のGDPはマイナス10%ぐらいではないかと推計する人もいます。
そもそも中国の国家統計局が出している数字は、「架空の物語」です。

全国人民代表大会で決まった成長率を覆すような数字を、地方政府が上げるはずがない。16%だの24%だの、ありえない数字を出してきます。
みんなそれを知っていますから、加減してほどよい数字を作り上げる。それが国家統計局の仕事なんです。

中国の現状からすればGDPが上がるとは思えません。個人消費は明らかに減っています。住宅はといえば6500万戸が空き家状態。
企業は設備投資どころではなく、政府の財政支出も限界に来ています。

日本の新聞もようやく中国の不動産バブル崩壊について書き始めました。しかし内容は必ずしも正しくない。
不動産価格が上海で25%、北京で20%下落したといいますが、実際には40%ぐらい下がっていると思われます。

JBPRESS
http://jbpress.ismedia.jp/articles/-/34131?page=2


世界のGDP(単位10億ドル)

1位 アメリカ 14,526.55
2位 中国 5,878.26
3位 日本 5,458.80



1位 アメリカ 14,526.55
2位 日本 5,458.80
3位 中国 5290.43
745デフォルトの名無しさん:2012/01/07(土) 01:53:54.61
色々と速度が不満なので
C++でdllを作ろうとしているのですが、
それの質問いいでしょうか

すごく基本的なことなんですが、
statに値を入れてHSPのほうに渡すことはできるようになったのですが、
それ以外の方法でdllで計算した値を渡すにはどうしたらいいんでしょうか
例えば、配列とかをそのまま渡せるとすごく捗るのですが
746デフォルトの名無しさん:2012/01/07(土) 09:03:59.77
>>745
varptr
747デフォルトの名無しさん:2012/01/07(土) 16:36:53.04
 ▲▼▲▼▲▼ ▼▲▼▲▼▲  ▲▼▲▼▲▼
      ▲▼                  ▲▼
     ▲▼  ▼▲▼▲▼▲▼▲    ▲▼
    ▲▼▲      ▲▼      ▼▲▼
   ▲▼ ▼▲    ▲▼        ▼▲
  ▲▼   ▼▲  ▲▼          ▼▲
748デフォルトの名無しさん:2012/01/07(土) 16:37:29.00
誤爆スマソ
749デフォルトの名無しさん:2012/01/07(土) 20:51:33.30
>>746

もう少し詳しくおしえていただけないでしょうか
例えばSDKのサンプルに以下の命令がありますが
■■■■■■■■■■■■■■■■■■■■■■
static void newcmd2( void )
{
PVal *pval;
APTR aptr;
aptr = code_getva( &pval ); // 変数の取得(PValとAPTRポインタ)
p1=code_getdi(100); // 整数値を取得(デフォルト100)
if (p1==0) puterror( HSPERR_DIVIDED_BY_ZERO ); // 0ならばエラー
p2 = rand()%p1; // 乱数を発生させる
code_setva( pval, aptr, HSPVAR_FLAG_INT, &p2 ); // 変数に値を代入(整数値)
}
■■■■■■■■■■■■■■■■■■■■■■



code_setva( pval, aptr, HSPVAR_FLAG_INT, &p2 ); // 変数に値を代入(整数値)

ここでHSP側の変数に代入しているのであろうことはわかるのですが、
HSP側の配列の各要素に代入するときはどの値をいじれば良いものか皆目見当がつきません。
750デフォルトの名無しさん:2012/01/07(土) 23:44:22.73
>>749
フラットなDLLに直接値を渡すだけなら分かる
モジュール変数とかは知らない
多次元配列も知らない

// sample.dll
int __declspec(dllexport) sample_func(int array[], int array_size)
{
int i;
for(i=0;i<array_size;i++) array[i]=i;
return i;
}

// HSP
#uselib "sample.dll"
#func sample_func "sample_func" sptr, int

dim nums, 100
sample_func varptr(nums), length(nums)
751デフォルトの名無しさん:2012/01/08(日) 00:52:27.37
>>750
ありがとうございます
自分の方でもあれから色々ネットしらべまして、
DLL側で受け取った変数を配列にして値を入れるとかできるようになってきました。
どうやらHspFunc_dim()の3番目のパラメータに1次元配列の要素数入れたので
上手く行かなかったようです。
というか、このパラメータには何の意味があるんだろう・・・

SDKの構造体の命令とかメソッドの詳細が一覧で載ってるサイトとかないんですかねぇ・・・
752デフォルトの名無しさん:2012/01/09(月) 12:55:33.53
>>751
同梱されてるものだけで十分じゃん
753デフォルトの名無しさん:2012/01/09(月) 13:46:57.69
>>752 そうだね。
簡単にウインドウ出せるだけの簡易言語が魅力だものね
C系ゴリゴリやるならそっちで良いと思う。
754デフォルトの名無しさん:2012/01/09(月) 14:14:32.93
>>753
そうじゃなくて hspsdk フォルダの中身があればプラグイン作るのに困らないだろってこと
755デフォルトの名無しさん:2012/01/09(月) 16:41:45.36
HSP側の配列の各要素に
値を代入する方法はわかってきたのですが、

例えば
PVal *hoge;
hoge = code_getpval();

とかで取得したHSP側の配列の特定の要素を
C++側の変数に代入するのはどうやればいいんでしょうか

HspVarProcにそのような命令はありますか?
756デフォルトの名無しさん:2012/01/09(月) 17:16:13.70
>>755
直接構造体の中を覗くのはダメなの?
757デフォルトの名無しさん:2012/01/09(月) 17:18:34.77
直接じゃなくても GetPtr でよさげ
758デフォルトの名無しさん:2012/01/09(月) 17:24:12.64
GetPtrで帰ってくるのはPDAT型のポインタですよね?
例えばHSP側で
hogestr="a","b"
と用意した文字列型配列を

C++側で
PVal *hoge;
hoge = code_getpval();
として取得した際に、
C++側で初期化した
char hogechar[1024]; に
"b"という文字列を読みこませるにはどうしたらいいんでしょうか。
759デフォルトの名無しさん:2012/01/09(月) 20:45:45.05
>>758
数値とかはすぐ分かったが
文字列は面倒だったw

分かってみれば単に PVal の master[1] 〜 に hogestr.1 以降の実体のアドレスがあるだけだが
master[0] が NULL だったので分かりづらかった

多次元配列は len の数値から逆算するだけ
760デフォルトの名無しさん:2012/01/09(月) 21:08:40.73
PVal *hoge;
char hogechar[1024];
char **p;

hoge = code_getpval();
p=(char**)hoge->master;
strcpy(hogechar, p[1]);
761デフォルトの名無しさん:2012/01/09(月) 23:03:13.27
ありがとうございます!!!
762デフォルトの名無しさん:2012/01/10(火) 19:52:28.47
いえいえ
763デフォルトの名無しさん:2012/01/15(日) 21:01:11.37
HSPに限ったことじゃないのですが、
コントロールパネル→タスク
で、追加する方法では休止状態からの復帰が可能ですが、
IODATAの地デジチューナーに付属されているソフトは
タスク使わずに休止状態から復帰します。

やり方わかる方いますか?
764デフォルトの名無しさん:2012/01/15(日) 21:43:43.65
>>763
Win32APIスレへどうぞ
765デフォルトの名無しさん:2012/01/20(金) 20:31:00.66
test
766デフォルトの名無しさん:2012/01/22(日) 03:35:16.23
RPGの例えば、アイテムのデータ(名前、個数など)と
使用した時の処理(HPを回復するなど)を一緒に管理したいのですが
どういう方法が適しているのでしょうか?
今はデータはswitchで処理はラベルで実行しています
767デフォルトの名無しさん:2012/01/22(日) 14:58:50.16
質問が意味不明
箇条書きで良いからやりたい事を具体的に
後自分で考えた方法も
768デフォルトの名無しさん:2012/01/22(日) 15:01:41.53
>>766
たぶんきっとそれはオブジェクト指向というもので、
HSPには無いものの一つなんだ
769デフォルトの名無しさん:2012/01/22(日) 15:06:14.48
一応モジュールっていう劣化クラスみたいな機能はあるけど
本当に劣化もいいとこだしなぁ…あんまり勧められない
770デフォルトの名無しさん:2012/01/22(日) 15:52:04.67
まあしかしどうしてもHSPで作りたいというなら学んで損はない機能だと思うぞ
おかげで他の言語のクラスの概念も割と簡単に理解できたし
771デフォルトの名無しさん:2012/01/22(日) 23:52:10.32
昔ながらの配列変数で管理する方法もなくはない
というかいまだにモジュールの使い方がよく解らんのでそれでやってる
772デフォルトの名無しさん:2012/01/23(月) 01:02:13.53
モジュール変数の入れ替えが簡単にできるとうれしいけど
やりかたが分からないので整数の二次元配列使って memcpy でコピーしてる

今はこんなやりかた

dim player, PLAYER_PARAMETER_NUM, PLAYER_NUM_MAX
dim temp, PLAYER_PARAMETER_NUM

COPY_SIZE=PLAYER_PARAMTER_NUM*4

// x番目とy番目のプレイヤーを入れ替える
memcpy temp, player, COPY_SIZE, 0, COPY_SIZE*x
memcpy player, player, COPY_SIZE, COPY_SIZE*x, COPY_SIZE*y
memcpy player, temp, COPY_SIZE, COPY_SIZE*y, 0

整数以外のデータをちょくちょく入れ替え忘れるので
実数とか文字列とかも一発でコピーできるとうれしいのにな
773766:2012/01/23(月) 01:52:45.78
>>771
今は配列変数で管理してるんだと思います
キー入力で増減するsellectの値(0,1,2...)とアイテムのID(item_id(0),item_id(1),item_id(2)...)を関連付けて
どのアイテムのデータを選んだのか判別させてます
処理(ラベル)はsellectが0だったら0番のアイテムのラベルを呼ぶという感じです
http://hsp.tv/play/pforum.php?mode=pastwch&num=39714
↑の一番上の人の書き方にかなり近いかと

モジュールは知っていましたが同じくどう使えばいいのか理解に苦しんでいます
モジュールの配列番号が分かるとどういう場面で便利なんでしょうか…?
774デフォルトの名無しさん:2012/01/23(月) 23:01:14.75
>>773
newmod したり delmod したりすると連番じゃなくなるので
配列番号があるとうれしくなります
775デフォルトの名無しさん:2012/02/03(金) 17:40:25.83
サカつく風ゲーム作ってます
途中まではちゃんと動作するのに
続けているとオブジェクト類の表示がおかしくなり
エラーも出さずに強制終了してしまう・・・
どういうことでしょう・・・教えてくだされ
776デフォルトの名無しさん:2012/02/03(金) 17:45:30.82
まずメモリがどうなっているか調べてみろ
メモリの空きが無いなら、メモリを解放するようにする
それでわからなければもう一度、今度はもう少し具体的に質問
777デフォルトの名無しさん:2012/02/03(金) 18:30:21.16
oncmdで飛んだ先で配列の存在しない要素を指定したら
エラー出さないで落ちたことはあったが…
778デフォルトの名無しさん:2012/02/03(金) 18:36:17.44
>>776
回答ありがとうございます
知識不足でメモリの把握の仕方が合っているかわからないのですが
メモリが不足しているのかもしれません

順調にプレイ進行
→ある程度プレイする
→ダイアログボックスやコンボボックス等の表示がおかしくなる
→コンボボックス等オブジェクトが消える
→プレイ進行不可能
という感じです・・・

メモリの開放をするにはどのような方法があるのでしょうか
779デフォルトの名無しさん:2012/02/03(金) 19:07:42.71
>>778
モジュール変数の確保を行う前に dimtype ほにゃらら, 5
で解放しておく

モジュール変数の実体にコピーを行うとメモリが解放されなくなるので
モジュール変数の実体は別にとっておいて基本的にクローンを操作するようにする

バッファの確保には ginfo_newid を使用せず #enum global ほにゃらら で固定の数値を使う
780デフォルトの名無しさん:2012/02/03(金) 22:19:10.55
モジュール内の変数を外のプログラムから書き換えること(値の足し引きなど)はできますか?
781デフォルトの名無しさん:2012/02/03(金) 22:33:29.62
>>780
書き換え用の関数を用意するか dup するか
782デフォルトの名無しさん:2012/02/03(金) 22:46:43.92
>>780
モジュール変数じゃなくて #module #global で囲まれた中の変数って意味なら

#module hoge
#deffunc increment
x++
return x
#global

x@hoge=0

みたいに @モジュール名 で書き換えられる
783デフォルトの名無しさん:2012/02/03(金) 23:08:09.34
本家の掲示板よりここの人達の方が新設ね。
784デフォルトの名無しさん:2012/02/03(金) 23:20:43.54
>>781-782
ありがとうございます
モジュール変数の場合ではできないのでしょうか?
キャラクタの情報をモジュール変数で管理して中の変数の値を書き換えたいのです
785デフォルトの名無しさん:2012/02/04(土) 00:56:31.77
>>784
関数使えよ
786デフォルトの名無しさん:2012/02/07(火) 15:24:47.80
キーボードのどのキーが押されたかを表示したいんですが、どの命令をつかってキーを取得すればいいんでしょうか?
787デフォルトの名無しさん:2012/02/07(火) 15:50:38.56
>>786
getkey のヘルプにサンプルあるやん。
788デフォルトの名無しさん:2012/02/07(火) 16:07:42.68
onkey *pushed

*pushed
mes Iparam
stop

これで何が押されたかは表示できました
ここからキーコードを文字に変換して表示したいんですがどうしたらいいですか
789デフォルトの名無しさん:2012/02/07(火) 16:26:07.04
Iparamってクリックやctrlは0として拾っちゃうんでしょうか
790デフォルトの名無しさん:2012/02/07(火) 16:31:53.02
やってみろよks
791デフォルトの名無しさん:2012/02/07(火) 16:40:50.60
クリックとctrlが取得できなくて詰んだんですがどうしたらいいんでしょうか
押しているキーを表示するソフトを作りたいわけですが
792デフォルトの名無しさん:2012/02/07(火) 17:10:16.17
getkeyのヘルプに載ってるだろうがwwww
それくらい考えろよwww

暇だから考えてやったけどこういうのが欲しいって言うことか?w
onkey *inkey
onclick *inkey
stop
*inkey
repeat 121,1
getkey k,cnt
c=cnt
if k!0:break
loop
;表示部分
mes c
stop

793792:2012/02/07(火) 17:15:11.60
貼りつけた後思ったけど、repeatをいくら増やしても取れないものは取れないっぽいな
俺のところだと左Ctrlは取れたけど右Ctrlが取れないとか、カーソルの上下が取れて左右が取れないとか
色々駄目だった
駄目なものはstickで補えるかもしれないが、それでもムリなものもあるな
スマソ
794デフォルトの名無しさん:2012/02/07(火) 19:10:42.36
;iparamではなくwparamでなら普通に取れますね
;クリックはonclickで
;Ctrlの左右判定はlparamの拡張キーフラグを使用しています
;GetAsyncKeyStateだと1テンポ遅れるので
;Shiftの左右判定はスキャンコード(OEM依存)を見ればいいのかな?
;AltやF10などはシステムキーなのでonkeyでは取れないみたいです

#define VK_CONTROL 0x11
#define VK_LCONTROL 0xA2
#define VK_RCONTROL 0xA3

onkey *pushed
onclick *clicked
stop

*pushed
if wparam == VK_CONTROL {
if lparam >> 24 & 1 {
mes VK_RCONTROL
} else {
mes VK_LCONTROL
}
} else {
mes wparam
}
stop

*clicked
mes wparam
stop
795デフォルトの名無しさん:2012/02/07(火) 19:54:10.94
>>788
HSP3 文字列のひみつの「文字列のしくみ」を参照

>>791
文字が割り当てられてないんだからIparamじゃctrlとか見れなくて当然でしょ
文字とキーコードは別々に送られてくる(lparamを見ればHIIFT,CTRLの左右区別も出来る)

screen 0,800,600
onkey *pushed
onclick *m_pushed
stop
*pushed
a="_"
poke a,0,iparam
mes "Kキーコード : "+wparam+", 文字コード : "+iparam+"("+(a)+")"+", キーNO : "+((lparam>>16)&$fff)+", 拡張キーフラグ : "+((lparam>>24)&1)+", キーリピート:"+(lparam>>30)

stop
*m_pushed
mes "Mキーコード : "+wparam+", 座標X : "+(lparam&$ff)+", 座標Y : "+(lparam>>16)
stop

>>793
onkeyが特定のキーに対して離された時かキーリピート時にしか割り込みが起きないからrepeatで回すしかない
796デフォルトの名無しさん:2012/02/07(火) 20:53:21.41
>>791
ちょっと読み違えた
配列にキーコードと対応した文章を入れて表示に使えば良い

getkeyの キーコード : 実際のキーを見ながら

sdim kmes,128,255
kmes(37)="カーソルキー[←]"
kmes(38)="カーソルキー[↑]"
kmes(39)="カーソルキー[→]"
kmes(40)="カーソルキー[↓]"

を全て最初にセットして
表示の時は
mes kmes(wparam)
とかすればいい

>>794
getkeyでループを回すしか全部のキーを見ることは出来ないな・・・
797792:2012/02/07(火) 21:33:59.21
>>795 >>796
なるほど、onkeyでは拾えないからrepeatの無限ループで回すしか無いのか、サンクス
798デフォルトの名無しさん:2012/02/08(水) 00:40:46.08
やはり本家より親切だな〜ココ。
799デフォルトの名無しさん:2012/02/08(水) 00:49:28.73
質問する人のレベルが低くても相手にしてくれるというか
質問の体をなしてなくても答えようとしてくれるというか
ちゃんとした回答があっても読まないというか

そういうところを突っ込む人が少ないだけ
800デフォルトの名無しさん:2012/02/08(水) 03:13:44.02
答えてる奴はどっちも同じ
だからここが親切とかは無い
801デフォルトの名無しさん:2012/02/08(水) 04:43:51.59
なんでHSPって0除算するとエラーにしちゃうのかね?
昔のBASICでもほとんどの機種は0で何か割っても0が返るだけでエラーにはならなかったような…。

どうしてそういう仕様にしなくて、わざわざエラー出して止めちゃうんだろ?0を割っても0返すだけでいいだろうに。
いちいちIF文なり論理式なりで0とそれ以外に分けるモジュール作るしかないのかね?
802デフォルトの名無しさん:2012/02/08(水) 06:28:03.44
>>801
何言ってるんだ?
で割ったら0になるわけねーだろ。
803デフォルトの名無しさん:2012/02/08(水) 06:32:32.04
それは0かどうか確認するのが無駄になるからだろ
OS自体が0乗算でエラー返すんだから
割り算かどうか確かめて更に0で割るかどうかを判断する必要が出てくる

0除算でエラーでなくなったけどHSPの処理速度が落ちたとかなったらアホ過ぎる
804デフォルトの名無しさん:2012/02/08(水) 16:38:51.77
無理矢理0除算回避させるなら limit でやるとか?
805デフォルトの名無しさん:2012/02/09(木) 22:19:56.77
#deffuncの中から特定の変数の値を変更したいのですが
Cのグローバル変数のようなどの場所からでも値を変更できる変数を定義する方法はありませんか?
806デフォルトの名無しさん:2012/02/09(木) 22:40:56.54
HSPは基本的に変数はグローバル扱いじゃなかったっけ?
807デフォルトの名無しさん:2012/02/09(木) 22:52:02.91
@モジュール名の事じゃね〜
@hspとか
808デフォルトの名無しさん:2012/02/09(木) 23:04:32.52
>>805
変数名の後に@をつけろ。
809デフォルトの名無しさん:2012/02/10(金) 00:39:34.97
>>806-808
ありがとうございます
810デフォルトの名無しさん:2012/02/10(金) 17:56:29.61
いえいえ
811デフォルトの名無しさん:2012/02/10(金) 18:36:43.21
まだこんなツール使ってる情弱いるんだな
812デフォルトの名無しさん:2012/02/10(金) 21:46:45.73
簡単なことはすぐにできるが
ちょっと凝ったことをしようとすると途端に面倒くさくなる
そんな言語
813デフォルトの名無しさん:2012/02/10(金) 22:56:29.01
だがそれがいい
814デフォルトの名無しさん:2012/02/10(金) 23:02:11.69
>>812 例えば?
815デフォルトの名無しさん:2012/02/11(土) 00:27:34.24
クラス関連全般ていうか、スコープないのがキツい
波括弧で括るアレ
816デフォルトの名無しさん:2012/02/11(土) 08:00:02.69
HSPって、ちょっとしたことをやるのには便利だと思うけどな

まぁ、そんなことをいいつつ、ちょっとしたことをするのはVBAになってるけど、これフリーじゃねーしな
817デフォルトの名無しさん:2012/02/11(土) 10:25:24.06
>>816
VBAはちょっとしたことをやるには面倒だな。
APIの扱いもめんどくさいし。
特に文字列が。
818デフォルトの名無しさん:2012/02/11(土) 13:11:03.31
HSPは拡張になるけど正規表現が使えて扱いやすい
819デフォルトの名無しさん:2012/02/11(土) 14:53:27.65
>>818
DLL?VBS?
820デフォルトの名無しさん:2012/02/11(土) 15:08:49.11
#include "mod_regexp.as"
が必要なHSP拡張命令。DLLでもVBSでもない
821デフォルトの名無しさん:2012/02/11(土) 16:06:02.72
>>820
mod_regexp.asの中にnewcom oReg,"VBScript.RegExp"の記述があるよね。
BREGEXP.DLL・ONIG.DLLとかもあるけど正規表現の方言嫌う人用かしらね。
822デフォルトの名無しさん:2012/02/11(土) 16:23:31.19
>>820
VBSだろ
823デフォルトの名無しさん:2012/02/11(土) 19:33:55.15
>>817
汎用的に扱うモジュールやらクラスなどなどを作り置きしてあるので楽なのよ。
もし、それらがなかったらやってられん。

GRID扱いたい場合はVBAはすごく捗る
824デフォルトの名無しさん:2012/02/13(月) 03:13:14.18
>>811
昔、BASICだけに慣れていた人が今の環境でそのまま
すぐ簡単にやれるものでHSP以上のものがあるなら教えてくれよ

HSPより手軽なものって他に見当たらないが
825デフォルトの名無しさん:2012/02/13(月) 03:23:24.16
まったくの初見で半日でMHP3のクエストランダムツール作れたよ
配列にデータ入れるのが一番時間かかったwww
ウィンドウ最前面も枠消すのも検索したら即でてきたし
普通に作りやすかった
826デフォルトの名無しさん:2012/02/13(月) 20:59:37.29
elonaはHSPのひとつの功罪だなw
827デフォルトの名無しさん:2012/02/15(水) 07:27:53.61
>>824
ツール作るだけなら、なでしこの方がいいと思う
ゲーム製作に向いてないというのは百も承知

あと少しだけ労力注げる余力あるならC#一択
あの最強フォームデザイナの前にはHSP開発環境などゴミに等しい
828デフォルトの名無しさん:2012/02/15(水) 07:49:23.08
つかHSPでフォームアプリ作ってるのかよ
ちょっとした物作るのには結構便利だよこの言語
829デフォルトの名無しさん:2012/02/15(水) 14:13:59.17
韓国大手製菓会社オリオンのチョコレート製品から基準値14倍の細菌が検出され、保健当局が緊急回収を命じたことが分かった。オリオン製菓は2年前にも製品から細菌が検出され回収を行っていたという。韓国メディアが14日、相次いで報じた。
 基準値の14倍もの細菌が検出されたのはオリオンの人気シリーズ、Market Oのミルクチョコクラシックミニスペシャル。昨年12月28日に益山工場で生産された製品2万4030個で、1グラム当たり基準値1万個をはるかに超える14万個の細菌が検出された。
 食品医薬安全庁は同製品の流通と販売を禁止し、市場に出回っている当該製品を回収させるなど行政処分を行った。問題の製品はすでに流通されておらず、オリオン製菓は原因が分かるまで同製品の生産と流通を無期限中断することを決めた。
 バレンタインデーに発覚した食品の安全問題に、韓国では衝撃が走った。多くのメディアが「Market Oのチョコレートは細菌のかたまり」「基準値14倍の細菌検出で衝撃」「悪夢のバレンタインデー」などと報じた。
 なお、オリオン製菓の「Market O リアルブラウニー(チョコレート焼菓子)」は2年ほど前から、韓国を訪れる日本人観光客の間で大人気となっている。昨年も韓国旅行のお土産ランキングの上位に挙がり、話題となった。(編集担当:金志秀)

http://news.livedoor.com/article/detail/6280729/
830デフォルトの名無しさん:2012/02/15(水) 22:15:29.09
でもそんなの関係ねー
831デフォルトの名無しさん:2012/02/15(水) 23:18:42.09
便利ねえ
832デフォルトの名無しさん:2012/02/16(木) 03:44:15.46
C# は .NET framework いれろってうるさいのが嫌い
833デフォルトの名無しさん:2012/02/16(木) 10:55:26.44
javaは良いのか?仮想プラットフォーム入れなくて?
834デフォルトの名無しさん:2012/02/16(木) 11:36:28.97
今時Windowsに.NETは標準搭載が当たり前なんだがな
どんな化石使ってるのか知らないが、自分のわがままを押し通さないことだな
835デフォルトの名無しさん:2012/02/16(木) 11:54:39.09
OS入れ替えても利益なんて出ないから仕方が無い
836デフォルトの名無しさん:2012/02/16(木) 13:41:34.56
わがままから生まれる進化もあるとは思うけど・・・
837デフォルトの名無しさん:2012/02/16(木) 13:49:38.83
やりたい事と開発環境のせめぎあい
HSPで満足してるならそれでいいじゃん
別にHSPアンチする気はないが
今どき、.NET入れられない環境とか結構厳しいな
838デフォルトの名無しさん:2012/02/16(木) 20:49:43.86
まあC#と比べられたらおにたまさんも可哀想だろw
HSPは個人で作ってんだからな
839デフォルトの名無しさん:2012/02/17(金) 03:27:07.49
そもそも目指す方向が全然違うし
軽トラとスポーツカー比べてどうすんだって話
840デフォルトの名無しさん:2012/02/18(土) 05:59:45.49
複数の文字列を一度に検索したいのですが

instr(moji(a),, "あ"or"い"or"う")

このように記述するのは無理なのでしょうか?
841デフォルトの名無しさん:2012/02/18(土) 06:07:27.98
>>840 まさに >>820 の正規表現 "VBScript.RegExp" でググれば良いと思う。

842デフォルトの名無しさん:2012/02/18(土) 06:26:59.86
>>841
素早いレスありがとうございます
さっそく探してみる事にします

一応
if moji(a)="あ"| moji(a)="い"| moji(a)="う"{

で解決はしましたが、項目が多くなると
やっぱり大変なので・・・・
843デフォルトの名無しさん:2012/02/18(土) 08:47:37.30
>>842
いえいえ
844デフォルトの名無しさん:2012/02/19(日) 03:39:06.67
検索したい物が何個あってもいいように記述すればいい
845デフォルトの名無しさん:2012/02/19(日) 08:59:19.51
記述すればいいね
846デフォルトの名無しさん:2012/02/21(火) 19:06:27.72
わからん
847デフォルトの名無しさん:2012/02/23(木) 09:44:36.59
a2d.hsp使わないでPNG表示させるモジュールとか無いのかい?
a2d使いづらいんだよな。 mod_imgは使えないしさぁ。
848デフォルトの名無しさん:2012/02/23(木) 10:21:44.36
>>847
何が使いずらいの?
GDI+のAPIだから改造すれば?
849デフォルトの名無しさん:2012/02/23(木) 11:52:45.01
gdiplus.dllを使わないでもアルファPNG表示出来るよねって話?

850デフォルトの名無しさん:2012/02/23(木) 13:07:05.04
さあ、HSPやったことないから知らない
851デフォルトの名無しさん:2012/02/23(木) 15:44:13.66
発想変えてpngやめて別の形式にしとけばいいじゃん
852デフォルトの名無しさん:2012/02/23(木) 16:49:45.52
HSP歴10年以上の俺様でも、流石に使わなくなったよHSP
853デフォルトの名無しさん:2012/02/24(金) 10:01:36.58
>>852
あっちのHSPの方ですね。
854デフォルトの名無しさん:2012/02/24(金) 12:17:03.86
>>853
え
855デフォルトの名無しさん:2012/02/24(金) 12:33:33.68
>>853 詳しく。
856デフォルトの名無しさん:2012/02/24(金) 21:41:05.74
モジュール名18文字までって短いから最大64文字くらいまで伸ばして欲しい
モジュール変数の親子関係で
player_attack_effect_mod とかやったらオーバーしたw
857デフォルトの名無しさん:2012/02/24(金) 22:20:57.80
そういうこと気にするならHSPやめたら?
858デフォルトの名無しさん:2012/02/24(金) 22:24:36.71
>>857
そういうことってどういうこと?
859デフォルトの名無しさん:2012/02/24(金) 23:34:19.54
HSPの仕様による制限の事だろ。
そんな事で文句垂れるくらいなら
素直に別の言語使えばいいじゃん。
860デフォルトの名無しさん:2012/02/24(金) 23:46:30.53
ここで言うんじゃなくて直接おにたま氏に要望出してこいよ
861デフォルトの名無しさん:2012/02/24(金) 23:51:08.10
ついでに名前空間実装するよう言っておいて
862デフォルトの名無しさん:2012/02/25(土) 00:43:33.04
変数のスコープに関しては微妙にモジュールが名前空間かな〜
863デフォルトの名無しさん:2012/02/25(土) 01:13:58.14
関数は余裕で衝突するw
864デフォルトの名無しさん:2012/02/25(土) 03:19:01.57
せっかくコメントあるんだから併用して使いましょう
865デフォルトの名無しさん:2012/02/25(土) 11:38:54.30
うん
866デフォルトの名無しさん:2012/02/25(土) 11:59:09.97
モジュールのネストもできるとうれしいな
867デフォルトの名無しさん:2012/02/25(土) 12:15:04.25
やはりオーバーライドと関数の初期値が欲しいな
868デフォルトの名無しさん:2012/02/25(土) 12:32:15.90
hspに期待するだけ無駄
869デフォルトの名無しさん:2012/02/25(土) 13:30:34.58
HSPに挫折した低脳が何か申しております
870デフォルトの名無しさん:2012/02/25(土) 14:07:32.83
へえ
871デフォルトの名無しさん:2012/02/25(土) 17:20:03.86
ほぉ
872デフォルトの名無しさん:2012/02/25(土) 23:38:36.93
>>869
hspごときに挫折するかよ。
失望ならまだしも。
873デフォルトの名無しさん:2012/02/26(日) 11:45:38.67
初心者向けに敷居低くするというBasicの良さを取り入れた言語なんだから、
オーバーライドなんか取り入れないでしょ?
関数の初期値あたりはあってもいいけど、なくても困るほどではない。
874デフォルトの名無しさん:2012/02/26(日) 12:13:14.71
HSPは慣れたら卒業するのが前提って感じだからな
875デフォルトの名無しさん:2012/02/26(日) 12:24:25.42
それはプログラムが目的な場合だろ
作りたいもの作るなら卒業とか無意味
876デフォルトの名無しさん:2012/02/26(日) 12:48:54.01
まあできる人が続けていくのは辛いんじゃねw
構造体も無いんだよ?むしろ作りたいものが無いからこそ残ってる
877デフォルトの名無しさん:2012/02/26(日) 12:52:24.47
まあ、他のなんとかBasicって名乗ってるものには、
構造体をサポートしてるものが多いな。
878デフォルトの名無しさん:2012/02/26(日) 13:48:27.81
構造体は必要だよ
879デフォルトの名無しさん:2012/02/26(日) 14:38:24.98
構造体は現状でも何とかなるがコールバックは3で載るハズだったんだよな・・・
880デフォルトの名無しさん:2012/02/26(日) 14:46:38.56
コールバックはラベル変数で代用
881デフォルトの名無しさん:2012/02/26(日) 15:13:06.80
初めからサポートしていれば無駄な努力をしなくていいのにな。
初心者向けにしてもクリティカルな機能が無いのは嫌がらせとしか思えないw
882デフォルトの名無しさん:2012/02/26(日) 15:18:54.50
要望もしないで愚痴るだけなら自分で作れよw
883デフォルトの名無しさん:2012/02/26(日) 16:32:38.77
>>879
構造体をサポートするには、
バイト型やワード型がないと話にならんけどな。
884デフォルトの名無しさん:2012/02/26(日) 16:40:06.32
クラスの実装のほうが嬉しい
885デフォルトの名無しさん:2012/02/26(日) 20:44:09.22
嬉しいね
886デフォルトの名無しさん:2012/02/27(月) 14:38:36.11
いててっ
887デフォルトの名無しさん:2012/02/27(月) 15:29:49.13
>>886
つ「トクホン」
888デフォルトの名無しさん:2012/02/27(月) 22:47:28.38
クラスなんて構造体の延長線上の話だろ?
まず構造体からってことだよ。
889デフォルトの名無しさん:2012/02/27(月) 23:46:41.87
ではまずアイバーソンの記法から
890デフォルトの名無しさん:2012/02/28(火) 00:26:26.09
モジュール変数はprivateな構造体
891デフォルトの名無しさん:2012/02/28(火) 03:21:53.91
あれは構造体というより配列作成マクロだと思うw
892デフォルトの名無しさん:2012/02/28(火) 06:32:11.97
モジュール変数は中途半端な仕様のゴミ
893デフォルトの名無しさん:2012/02/28(火) 13:50:09.09
ゴミだね
894デフォルトの名無しさん:2012/02/28(火) 15:34:36.75
>>891
マクロだと思うねw
895デフォルトの名無しさん:2012/02/28(火) 16:09:35.39
>>888
え!?
896デフォルトの名無しさん:2012/02/28(火) 18:10:47.28
>>890
モジュール変数はprivateな構造体だね
897デフォルトの名無しさん:2012/02/28(火) 20:40:20.83
うん
898デフォルトの名無しさん:2012/02/28(火) 22:01:21.47
>>895
今更、ストラウストップのアプローチ以外に意味があるの?
899デフォルトの名無しさん:2012/02/28(火) 22:05:20.51
>>898
API呼び出しには必要だろ。
900デフォルトの名無しさん:2012/02/28(火) 23:18:35.69
どうでもいいけど、構造体は必要だと思う。
901デフォルトの名無しさん:2012/02/29(水) 01:23:29.24
構造体→クラス→名前空間→キャスト→バリアント→WYSIWYG
902デフォルトの名無しさん:2012/02/29(水) 13:56:19.82
構造体くれ
903デフォルトの名無しさん:2012/02/29(水) 19:14:28.19
お前ら単なるバインドの仕組みとして構造体が欲しいの?
それとも自己参照までできるようにしてリスト、ツリーなんかを実現したいの?
904デフォルトの名無しさん:2012/02/29(水) 20:21:05.55
どうなの?
905デフォルトの名無しさん:2012/02/29(水) 20:24:32.27
一応リストもツリーもモジュール変数でできるよ
クローンと実体の扱い方に注意しないとメモリリークするけど
906デフォルトの名無しさん:2012/02/29(水) 21:49:31.10
>>903
API呼び出しで欲しいだけ。
後はどうでも良い。
907デフォルトの名無しさん:2012/02/29(水) 22:38:15.51
#defineで初期値にラベルを設定したいのですがエラーが出るので不可能なんでしょうか?

dim id, 4 : ldim label, 4
#define SET_MACRO(%1,%2=*null) id(%1)=%1, label(%1)=%2
SET_MACRO 1,*test1
SET_MACRO 2,
SET_MACRO 3,*test2

↑のid2は*nullへ飛ばしたいので省略して初期値が入るようにしたいのですが…
#defineの行でエラーが出ていて、=*nullを消すとエラーは出ないので
初期値にラベルは指定できないのかなと
908デフォルトの名無しさん:2012/02/29(水) 23:01:58.38
>>907
一旦ラベル変数に落として見るとか

#define SET_MACRO(%1=0,%2=0) \
label = %2 :if vartype(label) != 1 {label=*test1} :gosub label
SET_MACRO 1
SET_MACRO 3,*test2
SET_MACRO 1
SET_MACRO 3,*test3
stop
*test1 :mes "test1" :return
*test2 :mes "test2" :return
*test3 :mes "test3" :return
909デフォルトの名無しさん:2012/02/29(水) 23:13:35.23
こんなんでもいけるみたい

dim id, 4 : ldim label, 4
defaultlabel=*null
#define SET_MACRO(%1,%2=defaultlabel) id(%1)=%1 : label(%1)=%2
SET_MACRO 1,*test1
SET_MACRO 2,
SET_MACRO 3,*test2
repeat 3, 1
gosub label(cnt)
loop
stop

*test1
mes "test1"
return
*test2
mes "test2"
return
*null
mes "null"
return
910デフォルトの名無しさん:2012/03/01(木) 17:04:39.72
いけるみたいだね
911デフォルトの名無しさん:2012/03/01(木) 19:21:48.27
>>908
一旦ラベル変数に落として見るとかだよね
912デフォルトの名無しさん:2012/03/01(木) 19:44:36.19
うん
913デフォルトの名無しさん:2012/03/01(木) 20:29:29.32
Hなサービスパックと思ったのに、プログラミング言語なんだ…。
914デフォルトの名無しさん:2012/03/01(木) 20:43:02.34
つまらん
915デフォルトの名無しさん:2012/03/01(木) 23:15:30.31
>>908-909
丁寧な解説ありがとうございました
916デフォルトの名無しさん:2012/03/01(木) 23:59:33.58
いえいえ
917デフォルトの名無しさん:2012/03/02(金) 13:33:49.67
>>916
ありがとうございました
918デフォルトの名無しさん:2012/03/02(金) 14:24:19.81
ひゅー
919デフォルトの名無しさん:2012/03/02(金) 22:30:16.61
>>906
構造体の受け取りは今でもできるけど、そういうことじゃなくて?
920デフォルトの名無しさん:2012/03/03(土) 06:39:11.55
>>919
当たり前だろ
921デフォルトの名無しさん:2012/03/03(土) 15:07:32.88
クラッカー
922デフォルトの名無しさん:2012/03/03(土) 18:04:11.04
>>919
当たり前だったんだ
923デフォルトの名無しさん:2012/03/04(日) 01:04:43.18
何かレスがつくたびに、いちいち意味のない短いレスをしてる人がいる件についてはこれ触れたらいけない類のものなのか?
いちいち「いえいえ」とかいらないと思うんだが
924デフォルトの名無しさん:2012/03/04(日) 01:24:14.64
反応無いよりましじゃね
925デフォルトの名無しさん:2012/03/04(日) 01:49:18.04
病気持ちはスルー推奨
926デフォルトの名無しさん:2012/03/04(日) 18:01:49.55
>>923
反応してるおまえが一番ウザいんだよ
927デフォルトの名無しさん:2012/03/04(日) 20:26:29.68
そうかなあ
928デフォルトの名無しさん:2012/03/04(日) 23:56:38.05
僕は話し相手は多い方がいいと思う
929デフォルトの名無しさん:2012/03/05(月) 06:38:33.69
>>927
そうだよ。
くだらない書き込みすんなよ屑。
930デフォルトの名無しさん:2012/03/06(火) 18:04:50.47
テスト
931デフォルトの名無しさん:2012/03/06(火) 20:21:11.61
テスト
932デフォルトの名無しさん:2012/03/06(火) 21:57:03.76
test
933デフォルトの名無しさん:2012/03/06(火) 23:57:23.94
>>932
死ね
934デフォルトの名無しさん:2012/03/07(水) 01:06:09.16
TEST
935デフォルトの名無しさん:2012/03/07(水) 01:15:08.84
保守
936デフォルトの名無しさん:2012/03/07(水) 01:35:52.66
誰だよHSPが初心者向きって言ったの。公式も2chも終わってるじゃねえか!!
937デフォルトの名無しさん:2012/03/07(水) 01:44:39.52
>>936
此処は生きてる。
公式は腐敗してる。
938デフォルトの名無しさん:2012/03/07(水) 03:02:03.83
公式にいる奴のほとんどが2chみてんだろ
どうみたって2chに毒されてる連中ばっかじゃねーか

>>936
HSPで簡単に出来ない事は初心者向きじゃないって事だ
勉強になったな
939デフォルトの名無しさん:2012/03/07(水) 06:33:19.10
HSPはオワコン
940デフォルトの名無しさん:2012/03/07(水) 07:26:46.51
ヽ( ´∀`)ノオワタ
941デフォルトの名無しさん:2012/03/07(水) 22:00:13.78
完全にオワタね……
942デフォルトの名無しさん:2012/03/07(水) 22:09:12.10
よーし、お前らでゲーム用のプログラム言語作ろうぜ
943デフォルトの名無しさん:2012/03/07(水) 23:15:41.59
構造体ありでよろしく
944デフォルトの名無しさん:2012/03/08(木) 15:53:27.91
(´・ω・`)…
945デフォルトの名無しさん:2012/03/08(木) 22:36:37.40
過疎ってるからageるよ
946デフォルトの名無しさん:2012/03/09(金) 03:00:01.78
この板では十分賑わってる方なんだが
947デフォルトの名無しさん:2012/03/09(金) 16:15:21.43
サッカーゲーム作ってるんだけど、
エンブレムとか選手名ってフリーソフトでも
実在するものを使ったらやばいんでしょうか?
948デフォルトの名無しさん:2012/03/09(金) 16:37:22.33
>>947
フリーソフトとか関係なく勝手に使うのはマズいね
949デフォルトの名無しさん:2012/03/09(金) 17:15:51.89
>>947
当たり前だろうが。
馬鹿か。
950デフォルトの名無しさん:2012/03/09(金) 18:13:09.33
2次創作は基地外の多いカテゴリでは辞めたほうがいいね
サポーターとかなんJとかからマジギレして潰しにくるし
951デフォルトの名無しさん:2012/03/10(土) 18:49:42.38
同人でもナマモノはかなりクローズドな界隈だからな
慎重にやらないとつぶされるよ
952デフォルトの名無しさん:2012/03/11(日) 01:46:54.13
1文字違いの名前とか使ってるゲームあるけど
あれはどうなん?
953デフォルトの名無しさん:2012/03/11(日) 11:17:33.82
SQNY
954デフォルトの名無しさん:2012/03/11(日) 12:48:58.64
>>952
それはOK
つか、みんなそうやって逃げる。
実名使うと後が面倒。
955デフォルトの名無しさん:2012/03/11(日) 14:26:13.39
若干改変しても人気が出たらアウトなんだぜ
まず無いとは思うがw
956デフォルトの名無しさん:2012/03/13(火) 02:15:13.86
思うがねw
957デフォルトの名無しさん:2012/03/13(火) 12:12:21.53
test
958デフォルトの名無しさん:2012/03/14(水) 20:11:17.41
ifの条件文についての質問です。
指定した変数の中で2種類以上の変数が1以上のとき、という条件文は短く表記することが出来るのでしょうか?

具体的には
if A >0 {
if (B >0)or(C>0)or(D>0) {
mes "2種類以上の変数が1以上です"
}
}
if B>0 {
if (A>0)or(C>0)or(D>0) {
mes "2種類以上の変数が1以上です"
}
}

という感じのスクリプトです。
959デフォルトの名無しさん:2012/03/14(水) 20:13:24.98
負の数を考えないなら
(A*B>0) or (B*C>0) or (C*A>0)とかどうよ
論理和(AとBで&を取る)を考えれば、もう少し良いものができそうだけど
960デフォルトの名無しさん:2012/03/14(水) 20:36:04.76
repeatとswitch使った方が良いような
961デフォルトの名無しさん:2012/03/14(水) 20:44:17.70
>>958
あまりHSPっぽくない方法

a=1
b=1
c=0
d=1
count=(a>0)+(b>0)+(c>0)+(d>0)
mes count
962デフォルトの名無しさん:2012/03/14(水) 20:45:52.87
>>959
なるほど!そういう発想がありましたか。

>>960
repeatはわかりますが、switchという命令は知らないので今回は>>959さんの案でやりたいと思います。

すばやい回答ありがとうございました。
963デフォルトの名無しさん:2012/03/14(水) 20:50:47.96
>>961
すいませんが、その処理の意味が良くわかりません。
(a>0)が真のとき1が代入されるということでしょうか?
964デフォルトの名無しさん:2012/03/14(水) 21:11:32.66
>>961
そういうものがあったのか。それは目から鱗だわ。
965デフォルトの名無しさん:2012/03/14(水) 22:41:18.03
hspはif文以外の処理速度ってどうなの
966デフォルトの名無しさん:2012/03/15(木) 00:09:47.89
>>965
自分でやってみた範囲ではC言語で書いたときの13倍程度の所要時間
967デフォルトの名無しさん:2012/03/15(木) 00:20:53.84
速度を求めるなら別の言語使えよ
968デフォルトの名無しさん:2012/03/15(木) 00:45:37.30
>>966
それどっちが早いの。
969デフォルトの名無しさん:2012/03/15(木) 00:54:49.17
if文とswitch、while速度がどれくらい違うかhsp内で比べたら色々効率変わってくると思う
Cだとif文より圧倒的にswitchのが速い 100倍くらい
970デフォルトの名無しさん:2012/03/15(木) 02:29:39.12
>>969
hspのswitch、whileはマクロ
gotoでループしてif分岐させてるだけ
たんなる見た目の違い

なんでswitchを標準命令にしないんだろ・・・
ラベル型配列が使えるようになったから
速度だけなら条件が増えるほど
switchより早くは出来るが・・・
971デフォルトの名無しさん:2012/03/15(木) 02:47:59.41
>>963
比較はif分に使うフラグだけじゃない
普通の計算式に入れられる

if ((a>0)+(B>0)+(C>0)+(D>0))>1 {
mes "2種類以上の変数が1以上です"
}
972デフォルトの名無しさん:2012/03/15(木) 06:25:44.69
>>965
>>968
こういう質問するやつの99%がロクにプロファイリングもやらねえという
プロファイリングを行えば何がボトルネックになっているのか、どこを改善すべきなのかという
実践的な経験を手にする事が出来る

ネタ振り的なゴミ質問する暇があるなら一行でも多くコードを書いて研鑚しろ低脳
973デフォルトの名無しさん:2012/03/15(木) 11:23:35.95
>>972
何か本家のエロイ人みたいで怖い。
974デフォルトの名無しさん:2012/03/15(木) 11:33:57.59
>>973
ほっとけ。相手にすんな。
どーせ本家から追い出されたカスだよ。
975デフォルトの名無しさん:2012/03/15(木) 17:42:06.80
hspはif文ワールドなのかよw
おにたまはswitchに親でも殺されたのか
976デフォルトの名無しさん:2012/03/15(木) 17:46:13.93
switchあるだろ
977デフォルトの名無しさん:2012/03/15(木) 17:48:14.57
if文が詰まったトロイのswitchだがな
978デフォルトの名無しさん:2012/03/15(木) 17:51:48.83
switchあるだろ
979デフォルトの名無しさん:2012/03/15(木) 17:54:34.53
switchないとはいってないぜ?
980デフォルトの名無しさん:2012/03/15(木) 18:30:00.37
switchあるだろ
981デフォルトの名無しさん:2012/03/15(木) 18:34:28.42
>>975
switchはhsp3.0がリリースされる前に、
テスト板で有志達が議論して出来たマクロが、
正式採用されたからな。
中身はただのifの羅列。
982デフォルトの名無しさん:2012/03/15(木) 19:04:20.90
>>981
if文ばかり使うやつを馬鹿にしてた俺は完全にピエロだったのか
983デフォルトの名無しさん:2012/03/15(木) 19:29:49.84
どちらも同じ中間コードに変換されてたりしてw
984デフォルトの名無しさん:2012/03/15(木) 20:57:25.69
こんなの絶対おかしいよ
985デフォルトの名無しさん:2012/03/15(木) 22:23:28.27
switch に文字列が使えるのが便利だからこのままでいいよ
速度が必要なら自分でテーブルジャンプさせりゃいい
というより速度が必要ならHSPを使うのが間違ってる
986デフォルトの名無しさん:2012/03/15(木) 22:31:20.33
むしろHSPが間違い
987デフォルトの名無しさん:2012/03/15(木) 22:58:50.12
mes 10>0  とかしてみるとわかるが
>は左のが大きいと1を返し、そうじゃければ0を返す。
<だとその逆
ifは0かどうかを判定してるだけ

で、>959はこう書ける
if A*B or B*C or C*A

ま、>0を書いた方がわかりやすいけどなw
988デフォルトの名無しさん:2012/03/15(木) 23:03:02.42
>>987
なるほど、ショートプログラム(HSPTV部門)向けの小手先の技か。
非常にためになった。サンクス。
989デフォルトの名無しさん:2012/03/15(木) 23:17:47.08
switchって2.xの時代もマクロで有ったと思うが
昔and・orが無い時*・+で代用してたじゃん
990デフォルトの名無しさん:2012/03/15(木) 23:49:12.85
でもこれ初心者にプログラミングの入門としてすすめるときにif文ばかり使うなっていう明確な理由が示せないから良くないんじゃないの
991デフォルトの名無しさん:2012/03/15(木) 23:51:45.90
>>990
可読性がよくなる
992デフォルトの名無しさん:2012/03/16(金) 07:31:44.49
可読性がよくなる
993デフォルトの名無しさん:2012/03/16(金) 10:44:43.96
このスレに居るオウム
何て名前?
994デフォルトの名無しさん
アレス