2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん:2011/03/15(火) 14:47:25.05
災害で大変だけど、頑張ろうよ…

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って最近知ったんだが、どういう仕組みなんだろうな。
そろそろ終了するみたいだけど。

23 :19: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
http://fs-cgi-basic01.freespace.jp/~puma/lng/joyful.cgi?print+log4/05020008.txt
参考に

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のスクリプトでは、素通りしてました。
プログラムって何が上手くいくかわからないものですね・・・

71 :uy: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の後の
まだ敵が描かれてないときに当たり判定がでてしまうと、それ以降に描写される筈だったものが描かれずに
すっ飛ばして終わってしまったりして、いろいろ面倒なことになっちゃってますが・・・
あと、思い通りにいかないことといえば、自分が想像していたものよりゲームが面白くなかったことでしょうか(笑)

73 :uy: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
個人で組むなら、どうでも良いよ。
でも、組織立って組んでるなら、同じファンクションやプロセジャーをコーディングしない為にも、文書化しとく必要は有るんじゃね?

166 :160: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
仮想画面だから不定なのは正常

187 :185: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
どうも、ありがとう。でも、どちらも既に知ってるサイトでした・・・
個人的には、体力のバーの表示の仕方とか、弾を全方位に撃つ方法とか、横アクションゲームの基礎とか
これができると、アレを作れそうだなみたいな、そういう技術が知りたいかなぁーと
コンテストに応募してくる人は、どこで習ってるのかなぁ?やっぱり他の言語で取得した知識なのかな?


201 :192: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すれば、誰か答えるだろう…

256 :253: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

265 :260: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

278 :272: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 ってみんな使ってない?
人様のモジュール使うとき自前で変数の初期化するの面倒なんだが

296 :292: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
地味すぎるシステム変数たち

302 :272: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
今更だが、マクロで拡張するという考えがまずかった

308 :272: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
幾つかのウィンドウサイズに変更可能にしておいてユーザに選ばせるのが一番楽

373 :668: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
×あけれる
○あけられる

397 :393: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

最初に時間を取得したら
あとはその時間にひたすら加算し続けて比較って言うのが一番正確かな?
桁溢れだけには注意が必要だけどな。


406 :395: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

420 :415: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
へえ

472 :468:2011/09/19(月) 00:48:05.68
>>469
真っ白なbmpができるだけです。
>>470
DirectXで描画した画面のキャプチャ目的です。

で、windows7のサブPCだとちゃんとキャプチャできるのを発見。
XPのメインPCだと真っ黒(というかclsでクリアした色)のbmpができるだけです。
HSP本体もHSPDXFIXも同じバージョンなので考えられるのは
OSとDirectXのバージョンによるものかと・・・。

473 :468: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
>>525
作ってみたよ
http://www1.axfc.net/uploader/Sc/so/284218.zip

527 :526: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?

561 :556:2011/10/28(金) 19:59:01.38
>>559
バイナリレベルではそれが一番早そうだな
あんまり深く考えずに書いたのが申し訳ないくらいだ

562 :デフォルトの名無しさん:2011/10/28(金) 20:04:07.97
(rnd(32768) *2)+ rnd(2)

563 :556: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拡張プラグインでもつっこんで
管理した方がやりやすいですか?
ご面倒ですがお教えいただけたら幸いです。


568 :567: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を楽に扱えるライブラリとかあんの?

572 :569: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のバージョンのせいかと思ってるんだけど回避する方法ないかな?

608 :596: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だけども普通にできてたからね

614 :607: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で解決しました。


656 :655: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で野球拳ゲームのサンプルある?


668 :655: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

684 :681:2011/12/12(月) 17:02:17.71
ありがとうございます。
がんばって解読してみます。

147 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)