トップページgamedev
1001コメント335KB

HSP - Hot Soup Processor [13]

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2006/08/08(火) 04:26:45ID:lDqcHzca
       (  ,,,)
        .(  ,,)      スクリプト言語 HotSoupProcessor について
        ( ,,).        ゲーム製作の視点から、また〜りと語り合うスレ。
     , -──- 、
    (,;::-──-; )-、
     .|` ̄ ̄ ̄´;;|ヽ l   * 質問する前に検索してみる事
     l;    :::;;;l-' /   * ヲチ、ネタなどはスレ違い
    ,-ヽ───.'-、´..   * 歴代スレ、関連サイトは >>2-4 あたり
    ヽ ──── '

  ONION software (本家)
   http://www.onionsoft.net/
0050名前は開発中のものです。2006/08/13(日) 21:22:16ID:WzjRYKAQ
空気嫁ってのとスレ違いだと言われるのはわかってる。
でも質問させてくれ
gfadeを使ってフェードインするやつを作りたいんだがよくわかんないんだ
ググってみたんだが出てこないんだよ(´・ω・`)

もしかしてgfadeを使おうとする時点で俺はダメなのか?
0051名前は開発中のものです。2006/08/13(日) 21:48:31ID:jkt6CSwC
>>49
#define の使い方間違ってるから
0052名前は開発中のものです。2006/08/13(日) 21:54:12ID:XQtU9afx
>>51
迅速なレスありがとうございます。
書き込みの際に消えてしまっていますが、
UMP_MOVABLEと0、UMP_UNMOVABLEと1、
UMP_SELECTEDと2の間にはそれぞれ半角スペースが入ってます。
それでもダメでしょうか・・・?
0053名前は開発中のものです。2006/08/13(日) 21:59:18ID:rNo4wqRs
>>50
>フルカラー画面に対して、指定された領域を固定色フェードを行ないます。
>この命令は、時間ごとにフェードレベルを変えていくことになって、

フルカラー限定
指定領域をcolorで指定されている色にフェードレベル分近づける

60フレームで黒画面からフェードインするなら

color 0,0,0
repeat 60
redraw 0
gfade (255-(255/60)*cnt),0,0
wait 1
redraw 1
loop
gfade 0,0,0

こんな感じ


0054名前は開発中のものです。2006/08/13(日) 22:16:30ID:rNo4wqRs
あ、フェードインだからインさせる絵は常に表示させる必要があった

#include "hsp3util.as"

repeat 60
redraw 0
repeat 5*30
pos (cnt\5)*16*9,(cnt/5)*16:color cnt*25,((cnt\3)*10)+100,255-cnt*10:mes "フェードインテスト"
loop
color 0,0,0
gfade (255-(255/60)*cnt),0,0
wait 1
redraw 1
loop
gfade 0,0,0

0055名前は開発中のものです。2006/08/13(日) 22:31:21ID:jkt6CSwC
>>52
じゃ ; 行動可能 とかのコメント消してみたら
0056名前は開発中のものです。2006/08/13(日) 22:31:39ID:rNo4wqRs
>>52
>それでもダメでしょうか・・・?
いや、それなら全然問題ない
いい事教えてやろう

マクロ行にコメント入れると誤動作する時がある

行動可能

の後にスペースでもいいから入れてみ
0057名前は開発中のものです。2006/08/13(日) 22:34:25ID:otncYGIz
>>49
#define文の行末の ; 以降のコメント文というか「能」の文字を削除すると動く。

perlで日本語処理するときなんかに出てくる問題と同じだと思う。
0058名前は開発中のものです。2006/08/13(日) 22:43:32ID:XQtU9afx
>>55-57
コメント消してみたら上手くいきました。
ありがとうございましたm(_ _)m
0059名前は開発中のものです。2006/08/13(日) 22:54:23ID:jkt6CSwC
>>55-57
重婚w
0060名前は開発中のものです。2006/08/13(日) 23:02:30ID:WzjRYKAQ
>>53-54
dクス!
悩んでたものが解消できてよかったよ
なんか俺のやつフェードレベルの減算がうまくできてなかったみたい
0061名前は開発中のものです。2006/08/13(日) 23:07:46ID:x9uh2PU5
コンテストの国旗掲揚の奴に色々アブナそうな匂いが漂っていてワロタ
0062名前は開発中のものです。2006/08/14(月) 15:00:54ID:yDhHNiEb
>>61
ああwアレかw
0063名前は開発中のものです。2006/08/14(月) 23:49:35ID:4s4ggp14
HSPプログラムコンテストって複数人の応募おKですか?
応募規定に書いてない。。。OKだよね?
0064名前は開発中のものです。2006/08/15(火) 00:02:17ID:nYajYkM0
>>63
そんなの常識でしょ
0065名前は開発中のものです。2006/08/15(火) 00:17:33ID:SMKOCggv
OKってことだよね?
考えてみたらゲームは1人で作るほうが難しいか。。。
いやね、経歴が浅いもので。
ありがとうございました。
0066名前は開発中のものです。2006/08/15(火) 00:19:44ID:ZQ7IM8zC
ちなみにスレッドで参加っていうパターンも
ttp://pc8.2ch.net/test/read.cgi/gamedev/1005040802/915
0067632006/08/15(火) 00:23:56ID:SMKOCggv
なるほど
0068632006/08/15(火) 00:26:38ID:SMKOCggv
エンディングの製作協力が増えるな。
0069名前は開発中のものです。2006/08/15(火) 01:11:02ID:Ha3/Qls0
>>63
365人で作れば景品でうまい棒があたった時、一人1本ずつ分けられる。
0070632006/08/15(火) 01:47:26ID:SMKOCggv
うまい棒1年分w
いいね〜、じゃあいつかスレ立てて(立てなくても)協力してもおうかな〜
みんな名前のせるから。
0071名前は開発中のものです。2006/08/15(火) 02:35:14ID:JhVV1bo9
>>63
書いてある
0072名前は開発中のものです。2006/08/15(火) 03:55:34ID:pFBhfmEK
HSPって本当に初期化周りを楽にしただけなんだね。
特性上しょうがないのかもしれないけど、KEY_DOWN, KEY_UP位は欲しいよね。
これだと初心者がRPGとか創るならそれなりのノウハウ無いと無理じゃないか?

と、ろくにプラグインも調べてない初心者が言ってみる。
0073名前は開発中のものです。2006/08/15(火) 04:06:28ID:hvjoqBLY
>>72
初心者はstickかgetkeyで十分だろ。
と、初心者がいってみる
0074名前は開発中のものです。2006/08/15(火) 06:39:41ID:pFBhfmEK
ああ、stickてdownした瞬間にしかオンにならんのね。。
>>72は完全なる勘違いでした。スマソ。
0075名前は開発中のものです。2006/08/15(火) 11:33:22ID:NmeIJjfq
key_down/key_upって何?
0076名前は開発中のものです。2006/08/15(火) 12:05:23ID:8oYof4zE
こんなのもある

oncmd goto *key_down,$100
oncmd goto *key_up,$101
stop

*key_down
    mes "key_down"
    stop
*key_up
    mes "key_up"
    stop
0077名前は開発中のものです。2006/08/15(火) 12:11:28ID:Jf23k+Km
キーを上げ/下げっぱなしにすると推測。普通にあるよな?

ノウハウが無いとダメだって、そのノウハウはいつ身につくんだよ。
とHSPとBASICしかやったことがない漏れが言ってみる
初期化が楽って、窓作りとか変数定義が無いから?
0078名前は開発中のものです。2006/08/15(火) 17:39:08ID:Rtiw3hGH
キーが押された瞬間と離された瞬間を検知したいってことだと推測

>>76だと押しっぱなしでも反応するのでこんな感じで

*key_down
if lparam >> 30 = 0{
mes "key_down" + wparam
}
stop
*key_up
mes "key_up" + wparam
stop

でも反応がちょっと甘い気がするので
stickで取得できないキーなら
リピートしつつgetkeyで前回どれが押されたか
チェックしてったほうがいい気が
0079名前は開発中のものです。2006/08/15(火) 17:42:29ID:Rtiw3hGH
oncmdをgoto→stopじゃなくて
gosub→returnにしたらちゃんと反応するっぽい
0080名前は開発中のものです。2006/08/15(火) 20:33:33ID:gKsnFAaM
bsaveで存在しないファイルにセーブしようとするとエラーが起きるんですが、
ファイルが無い場合は自動で作成してくれるようにするにはどうすればいいんでしょうか?
0081802006/08/15(火) 21:02:52ID:gKsnFAaM
すいません、自己解決しました
オフセットの値を0にしてたのがだめだったみたいです
書かなきゃおkでした
0082名前は開発中のものです。2006/08/15(火) 21:07:33ID:GoRvyIS9
>>80
オフセット指定時は、エラーチェックとして予めファイルの存在とファイルサイズをチェックしる。
通常の上書きだったら問題ないはず。
0083名前は開発中のものです。2006/08/15(火) 21:08:30ID:GoRvyIS9
あ、スマソ。
0084802006/08/15(火) 21:19:03ID:gKsnFAaM
>>83
いえいえ、親切にありがとうございました
0085802006/08/15(火) 22:39:13ID:XddFPoDb
ついでにマウスを自動で動かす方法を教えてください
0086名前は開発中のものです。2006/08/15(火) 22:45:05ID:0TdJP3W/
他人が便乗してやがるw
0087名前は開発中のものです。2006/08/15(火) 22:46:15ID:Jf23k+Km
マウスの神経に電極さして無線LAN経由で信号を送れ
0088名前は開発中のものです。2006/08/15(火) 23:31:53ID:2o7gqS+P
なにその動物実験
0089the3422006/08/16(水) 13:26:07ID:UsRiIn2h
>>1 = 動物実験
if(>>1=あぼーん){
mes "you are an idiot hahahahahahaha"
}
0090名前は開発中のものです。2006/08/16(水) 15:36:23ID:xNJJl8hY
>>89
漏れの勘違いかもしれんがanっていらなくね?
0091名前は開発中のものです。2006/08/16(水) 19:02:35ID:cOr7ODKM
○質問があります。
HSPのスレにうんこ出たが書き込まれる不都合にかんしてですが、
うんこ出た厨乙という対処法は効き目が無いように思えます。
ヘルプを見ても見つかりませんでした。
よろしくお願いします。
0092名前は開発中のものです。2006/08/16(水) 19:24:45ID:1JVll4Gl
荒らしはスルーが基本
0093名前は開発中のものです。2006/08/16(水) 23:49:46ID:UikuTOUX
ネタがねえな
0094名前は開発中のものです。2006/08/17(木) 03:18:24ID:UYtWPKNH
>>91
せっかく釣られてやったのに反応が欲しいぜゴルァ
「うんこ出た」をNG汁

まーしたところで
得意げに"見えないレスがあるなぁ"とか"番号が飛ぶなぁ"とか言っちゃうんだろうな。
意味ナス

つかあのスレ役に立つの?
0095名前は開発中のものです。2006/08/17(木) 14:21:44ID:sRambqVt
buttonで作ったオブジェクトを押せないようにしたいんですが
どの命令をつかえばいいんでしょうか?
0096名前は開発中のものです。2006/08/17(木) 15:05:41ID:UYtWPKNH
>>95
sendmsg
0097名前は開発中のものです。2006/08/17(木) 15:12:22ID:OOS8KMKm
>>92>>94
返信ありがとうございました。
荒らしだったのですね。
ブラウザが故障したのかと思ってました。

ひろゆきさんも人が悪いというか
スカトロ趣味があるといいますか
うんこを放置するんですよ。
0098名前は開発中のものです。2006/08/17(木) 19:19:50ID:V6PgyOr3
うん、このスレはいいなぁ
0099名前は開発中のものです。2006/08/17(木) 20:10:36ID:LDZVmazR
コンテストの作品がなかなか増えてないな
0100名前は開発中のものです。2006/08/17(木) 20:58:02ID:HPpYycrk
>>95
押しても反応なしならフラグ付けて判定
押す事自体をさせたくないなら、素直にボタン消せ
いっその事ボタンを自分で作るってのも
0101名前は開発中のものです。2006/08/17(木) 21:01:14ID:oPV8m9Ea
>>99
サイトの更新頻度が低い模様
0102952006/08/17(木) 23:00:07ID:sRambqVt
>>96
ヘルプ見たけど難しすぎて???でした・・・

>>100
なんていうかウィンドウの右上の最大化ボタンが押せないみたいに、
あるんだけど灰色っぽくなっててへっこまないのを作りたいんですが
HSPじゃ無理なんでしょうか?
0103名前は開発中のものです。2006/08/17(木) 23:09:16ID:9rmf2RXt
>>102
>HSPじゃ無理なんでしょうか?
sendmsgってレス貰ったのに、「無理なんでしょうか?」だと?
「難しすぎて」ってなんだそりゃ?
0104名前は開発中のものです。2006/08/17(木) 23:44:26ID:A0wDpy8c
>>102
簡単な方法を教えてやるよ。

「押せないボタンの画像」を表示する。
押す必要がある場合は、通常のボタンを配置する。以上。
0105名前は開発中のものです。2006/08/17(木) 23:54:51ID:OOS8KMKm
>>102
お前の書き込みが間違ってるので直した。
正しくは↓だ!

>>96>>100
>ヘルプ見たけど難しすぎて???でした・・・
>私じゃ無理なんでしょうか?
0106名前は開発中のものです。2006/08/18(金) 00:00:19ID:XNHRH7MR
>>103
>「難しすぎて」ってなんだそりゃ?
まぁ、HSPしかやってないなら無理も無い
具体的な使い方はAPIの解説とか見ないと全然分からないだろう
メッセージIDなんてHSPのヘルプに載ってないし・・・
0107名前は開発中のものです。2006/08/18(金) 00:13:44ID:NTtmyf5e
最初のうちは、ゲームのために自分がコンピュータにさせたいことと
プログラム言語の命令がかみ合わなくて迷うもんさ。
0108名前は開発中のものです。2006/08/18(金) 00:22:35ID:ecfRuYGL
>>104
簡単だけど本質を突いたいいレスだな。

理想を求めて出来ない難しいじゃ何も完成しない。
発想の転換とセカンドベストを選択する勇気も必要。
出来るやつってのは大抵背伸びせずにそのとき自分に出来る最善を尽くしてるんだ。
0109名前は開発中のものです。2006/08/18(金) 02:01:25ID:9Zj9cShj
>出来るやつってのは大抵背伸びせずにそのとき自分に出来る最善を尽くしてるんだ。
趣味でしかプログラミングしてない奴の言いそうなことだ。
0110名前は開発中のものです。2006/08/18(金) 03:02:01ID:rH/iJR96
多少背伸びして、新しい知識手に入れねえと、上達しねえよ。
と、中一から三年間HSPをやってる俺が言ってみる
0111名前は開発中のものです。2006/08/18(金) 06:06:06ID:8roNFOsR
まぁ、>95の場合は背伸びすらしようとしてないんだけどな。
「あぁ〜ん、ボクじゃ届かないから誰か代わりに取ってぇ」


#uselib "user32.dll"
#func EnableWindow "EnableWindow" int, int
button gosub "自分で", *sub
button gosub "やれや", *sub
gosub *sub
stop

*sub
btn_stat ^=1
b=btn_stat & 1
EnableWindow objinfo (0, 2), b
EnableWindow objinfo (1, 2), 1-b
return
0112名前は開発中のものです。2006/08/18(金) 10:20:28ID:3ZqjVkYe
>>109
>趣味でしかプログラミングしてない奴の言いそうなことだ。
HSPやってる奴のほとんどが趣味だと思うが。
0113名前は開発中のものです。2006/08/18(金) 15:15:19ID:7VBuQgww
>>110
厨房如きが何をほざくか。
0114名前は開発中のものです。2006/08/18(金) 17:38:10ID:TRGLN637
今は工房だろと
0115名前は開発中のものです。2006/08/18(金) 22:24:30ID:tKcwaqzg
>出来るやつってのは大抵背伸びせずにそのとき自分に出来る最善を尽くしてるんだ。
このフレーズだけ見ると「?」だけど、言いたいこととしてはまぁ分かるかな。
大切なのは、最善を尽くすってのは自分の限界に挑戦することである、ということだね。
限界に挑戦するってことは、可能な限りの背伸びをするっていうことでもある。
死力を尽くしすらしないようだと、ロクなものは作れないし、成長も見込めない。
0116名前は開発中のものです。2006/08/18(金) 22:43:23ID:WSkDypjQ
HSPはもっとお気軽だったはず。
だが、はっきり言って2chは初心者に容赦ない。本家行け本家。

人と関わるのが嫌なら
得ているヒントで検索することを覚えようね。これでキミも一人上手。
0117名前は開発中のものです。2006/08/18(金) 22:56:18ID:ecfRuYGL
>>109
すまん、仕事でやってるからこそ出てくるフレーズなんだが。
さすがにHSPは使わないが。

背伸びするのは仕事の時間以外でやればいいよ。
帰ってからでも土日にでもやればいい。
仕事では出来ることをする。
出来るかどうかわからないことに挑むのこそむしろ趣味の話。
失敗すれば損失だけが残る。自己満足なんかくその役にも立たない。

出来ることの幅を増やすために普段から努力するのは当然だがな、
今まさにやらなければいけないことがあるときに背伸びする必要はない。
0118名前は開発中のものです。2006/08/18(金) 23:04:07ID:tKcwaqzg
>>117
仕事は確かに完成させなきゃ話にならないけど、
趣味でも完成はさせないと、結局何も始まらないと思うな。
0119名前は開発中のものです。2006/08/18(金) 23:09:16ID:GAodgEvd
流れを無視して
HSP3ってインストール版しかないんやね
βはアーカイブ版あるみたいだけど

レジストリアレルギーの俺には辛いな
0120名前は開発中のものです。2006/08/18(金) 23:22:36ID:3ZqjVkYe
>>119
どこみてるの?
ttp://hsp.tv/make/downlist.html
0121名前は開発中のものです。2006/08/18(金) 23:43:45ID:PWIWW2/c
初心者に容赦ないんじゃなくて
初心者であることに甘えて、まともに調べもせずに
いい加減な質問する奴に容赦しないだけだ。
0122名前は開発中のものです。2006/08/18(金) 23:48:49ID:tKcwaqzg
それを「教えてクソ」と呼びます。
0123名前は開発中のものです。2006/08/19(土) 00:05:24ID:GAodgEvd
>>120
ありがと
そんな間近にあったのか。
「その他のダウンロード」ってのは本体以外のユーティリティか何かだと思い込んでた。

メアドとか聞かれるしuzeeeeeeって思ってしまった。
0124名前は開発中のものです。2006/08/19(土) 00:11:50ID:Idj6WJ67
ある程度までならヘルプだけで出来るから教えてクンは生まれないはずだが、
実際にはいる。ヘルプ読んでないか、読んでも理解できない奴だな

初心者よ、今は理解できなくてもいいから、とりあえずヘルプ全部嫁
0125名前は開発中のものです。2006/08/19(土) 01:17:08ID:gmAlariq
今頃3.0を使い始めた俺。

自作関数作れるんだな。
mes menseki(x,y)
みたいに命令の引数に関数も使えるようだし
Cを勉強中だったけど投げ出したくなってきた…
0126名前は開発中のものです。2006/08/19(土) 01:27:59ID:Idj6WJ67
関数定義時にvoidが使えないのが気に入らない
無くても別に問題はないが、明示したいのでコメントアウトしてる
0127名前は開発中のものです。2006/08/19(土) 10:02:41ID:eJ6kIrcz
>>95 はobj.asをインクルードして
objgray id, 0
とすれば簡単にできる。
0128名前は開発中のものです。2006/08/19(土) 18:33:19ID:jWMoG/BJ
質問です。
ソースが肥大化してきたので、#includeを使ってみたのですが、
どうもうまく動かなくなってしまいます。
#const定義、若しくはラベル名がソース全域に知れ渡っていない、
というのが原因かと思うのですが、何か良い解決方法、参考になるサイト等ありませんでしょうか?
0129名前は開発中のものです。2006/08/19(土) 18:58:05ID:Fusn1frz
>>128
ソースを晒せ。その原因と思った部分は自分で実験してみて違ったわけ?
0130名前は開発中のものです。2006/08/19(土) 19:09:24ID:jWMoG/BJ
C/C++での .h .cpp のようにソースを分ける上手な方法を知りたいのですが…。
0131名前は開発中のものです。2006/08/19(土) 19:16:15ID:Ts1EGLPk
>>128
プリプロセッサ命令が
先頭行から順番に処理されていくことを理解すれば、対処できると思うが。
途中の行を別ファイルに切り出した場合、元あった場所に#includeすれば良いだけ。

#const やら #defineやらは、実際に使う場面以前に、処理されてないとNG。

mes あたらしい定数
#const あたらしい定数 3
mes あたらしい定数


あと、下記の場合、a.hspのコンパイルは、*label_bが見つからないので通らないけど、
b.hsp側からのコンパイルは通る。

[a.hsp]
gosub *label_b

[b.hsp]
#include "a.hsp"
stop
*label_b
return
0132名前は開発中のものです。2006/08/19(土) 20:12:09ID:jWMoG/BJ
>>131
ご指南ありがとうございます。なんとかそこまではいきました。
ですが、例えば

[a.hsp]
*Draw
mes "Draw"
return;

[b.hsp]
#include "a.hsp"

*Main
gosub *Draw
gosub *Input
await(16.66)
gosub*Main

*Input
return;

このような場合だと、#includeした瞬間にa.hspのラベル*Drawが実行されます。
これを回避したいのですが、#deffunc以外に解決法は無いのでしょうか?
0133名前は開発中のものです。2006/08/19(土) 20:42:13ID:lvtUkhxs
>>132
*Drawが実行されるのは当たり前だしそれはC/C++でも同じことだが?
0134名前は開発中のものです。2006/08/19(土) 20:51:20ID:jWMoG/BJ
>>133
ということはやはり*Drawは関数にするべきなのでしょうか?
0135名前は開発中のものです。2006/08/19(土) 20:51:41ID:+ucpKvw4
C/C++ は定義されるだけだから、実行はされないな。
perl とかなら実行されるけど。

下のように gotoでファイルの末尾に移動すればいいと思うよ。

[a.hsp]
goto END_OF_A
*Draw
mes "Draw"
return
*END_OF_A
0136名前は開発中のものです。2006/08/19(土) 20:54:58ID:Idj6WJ67
素直にモジュールで区切って関数とかで呼び出せ
ソースコードの量が多いなら、全部繋げてラベルにgoto/gosubするより間違いにくいと思うんだが
0137名前は開発中のものです。2006/08/19(土) 21:18:54ID:lvtUkhxs
>>135
宣言・定義だけ書けば実行されないだろうが、実行文を書けば実行されるぞ。
0138名前は開発中のものです。2006/08/19(土) 21:19:45ID:gyBzUdp3
>>132
bの末尾で#includeすりゃいいじゃん。#include自体は
ファイルのはじめでやらなきゃいけないなんてルール
ないんだから。

#deffuncで定義するときは呼び出し位置より前で
やらなきゃいけないけど。

個人的には>136のやり方がいいと思うよ。
0139名前は開発中のものです。2006/08/19(土) 21:52:04ID:Dj/WwTfc
>>132
[b.hsp]
goto *includezone_end
#include "a.hsp"
*includezone_end

*Main

自分しか読まないスクリならこれでもいんじゃね
0140名前は開発中のものです。2006/08/19(土) 22:01:31ID:Dil2hFY6
俺としては、
[b.hsp]
goto *@f
#include "a.hsp" // 描画ルーチン
*@

って書き方が一番好きだな
0141名前は開発中のものです。2006/08/19(土) 22:07:50ID:rBrgG/X2
>>140
a.hspでローカルラベル使ってたら誤動作しないか
0142名前は開発中のものです。2006/08/19(土) 22:44:29ID:Dil2hFY6
>>141
そう言われればそうだな。
ありがとう
0143名前は開発中のものです。2006/08/19(土) 23:32:28ID:Ts1EGLPk
>>132
他の人も書いてるように
・#include "a.hsp" の位置を、b.hspの最後にする
・#include "a.hsp"前にgoto *Main してb.hspの流れを変える
のどちらかが、修正少なくて済む方法やろね。

分割前の、もとのスクリプトの流れがおかしいのだから
多少不細工な記述になるのはしゃない。
気に入らないなら、もとのスクリプトの流れから見直すべき。

>>134
>ということはやはり*Drawは関数にするべきなのでしょうか?
なんか誤解してそうなカンジがする発言だな…。
#global空間で#deffunc関数化しても、結局同じことになるんで注意。
マニュアルの「モジュール機能ガイド」(hsp30/docs/module.htm)参照のこと。
0144名前は開発中のものです。2006/08/19(土) 23:46:17ID:Fusn1frz
Cとか他の言語知ってるなら、普通にモジュール使った方が良いと思うがな。
01451322006/08/20(日) 00:49:43ID:j2TSf9MG
様々なアドバイス本当にありがとうございます。
#includeの位置を調整する方法でやってみることにします。

スクリプトエディタに定義ラベル一覧+ジャンプ機能があれば、
より使いやすくなるんですがねぇ・・・。


>>143
>分割前のもとのスクリプトの流れがおかしい
今までDrawとInputのループ以外使ったことが無いもので…、
キーワードだけでも教えていただけませんか?
0146名前は開発中のものです。2006/08/20(日) 01:28:27ID:pzpfYIHD
>>145
>ラベル一覧+ジャンプ機能
[F11]キー押してみそ…?(「移動」を押さなならんのが不便だが。)

標準スクリプトエディタに不満があるなら、開発wikiで紹介されてる、
xyzzy + hsp-mode が割と良いよ。
タグジャンプ機能とか、複数ファイルをタブで管理できるので便利。

ただ、hsp-modeが2.61用なんで、HSP3.0に自力で対応させる必要があるし、
xyzzy自体もクセが強いんで、導入するまでに苦労すると思うけど。
0147名前は開発中のものです。2006/08/20(日) 01:33:02ID:pzpfYIHD
つづきー
流れがおかしいちうのは、単純に、
*Draw 〜
*Main 〜
の順番で並んでるのを

*Main 〜
*Draw 〜
にすれば、*Mainより先に*Drawが実行されることもないだろう、
というだけの話で。


それとは別の方法として、
もし現状で、*Mainで使ってる変数を、*Draw、*Inputルーチン側で
参照してないのなら、

#module
*Draw 〜
*Input 〜
#global
;
*Main 〜

という書き方ができるんで、
上記の #module〜#global までを別ファイル[h.hsp]とかに切り出して

[main.hsp]
#include "h.hsp"
*main 〜

という、おそらくアナタの最初の希望に沿うような まとめ方ができますよ、と。
0148名前は開発中のものです。2006/08/20(日) 01:39:03ID:pzpfYIHD
あ、ゴメン、>147に、多分ウソかいた。
「それとは別の方法として、」のサンプル部分、

#module
#deffunc Func_Draw
(*Draw 〜のルーチンの内容)
#deffunc Func_Input
(*Input 〜のルーチンの内容)
#global
;
*Main
Func_Draw
Func_Input

が正しいかな? (;^ω^) 試してないから、まだあやしいな
0149名前は開発中のものです。2006/08/20(日) 02:03:44ID:mO6J7xRk
モジュール空間に隔離すると変数が別々になるだけだから、関数定義して呼び出すなりしないと、隔離前と変わらん。
気がする。たぶん。確認してないから知らん
■ このスレッドは過去ログ倉庫に格納されています