HSP - Hot Soup Processor [15]
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名前は開発中のものです。
2007/06/03(日) 14:49:29ID:15sfFksi.( ,,) スクリプト言語 HotSoupProcessor について
( ,,). ゲーム製作の視点から、また〜りと語り合うスレ。
, -──- 、
(,;::-──-; )-、
.|` ̄ ̄ ̄´;;|ヽ l * 質問する前に検索してみる事
l; :::;;;l-' / * ヲチ、ネタなどはスレ違い
,-ヽ───.'-、´.. * 歴代スレ、関連サイトは >>2-4 あたり
ヽ ──── '
ONION software (本家)
http://www.onionsoft.net/
0812名前は開発中のものです。
2007/10/28(日) 20:00:39ID:9IIiyL7s0813名前は開発中のものです。
2007/10/28(日) 20:11:17ID:kvvw+XEo0814名前は開発中のものです。
2007/10/28(日) 20:56:32ID:6emysEtm0815名前は開発中のものです。
2007/10/28(日) 20:58:56ID:/l/dSuBB0816名前は開発中のものです。
2007/10/28(日) 21:05:59ID:wORlFU1w表示させたくない部分を黒(RGB=0,0,0)で塗りつぶしてgmode
0817名前は開発中のものです。
2007/10/28(日) 21:08:08ID:7IhGWsADうう、説明苦手でして。
>>813
おお、感謝!
でも最初の1つだけ透過されてない…?
2つめ以降は透過されているのに。
ん、やっぱり参考書買ってくる事にします。
ゲーム作りに重点置いたものが見つかれば良いのだけど。
0818名前は開発中のものです。
2007/10/28(日) 21:14:27ID:7IhGWsADヘルプでgmode調べて何とかその結論に辿り着けました。
しかし、命令って凄い数あるものですね…だからこそ色々作れるのだろうけど。
0819名前は開発中のものです。
2007/10/29(月) 00:41:09ID:svvO0+z2サンプルはどっかに転がっているだろうけど自力で考えた方が良い。
取り合えず背景の上にキャラを乗せて動かすところから。
あとは何作っても応用だ。
0820名前は開発中のものです。
2007/10/29(月) 01:06:40ID:+LluVZPIこれじゃ初心者が戸惑うのも無理はない
0821名前は開発中のものです。
2007/10/29(月) 19:14:59ID:xwadiHll0822名前は開発中のものです。
2007/10/29(月) 19:56:17ID:svvO0+z20823名前は開発中のものです。
2007/10/30(火) 05:39:23ID:srO9QYdy知らんけど
0824名前は開発中のものです。
2007/10/31(水) 19:47:48ID:oAHn1k/1.hspにしか対応してないのか…
0825名前は開発中のものです。
2007/10/31(水) 20:45:27ID:HECHQIRy作者が死んだプラグインなんか使うな、早死にするぞ!
0826名前は開発中のものです。
2007/11/02(金) 14:00:15ID:o6B8ML9Sコンパイルできるエディタとかありますか?
0827名前は開発中のものです。
2007/11/02(金) 17:27:34ID:14nyPQrT0828名前は開発中のものです。
2007/11/02(金) 19:55:12ID:mnrdp5mg0829名前は開発中のものです。
2007/11/03(土) 11:21:20ID:d6324f18Le.Antilla
ttp://s1.shard.jp/arisa/
0830名前は開発中のものです。
2007/11/03(土) 11:57:04ID:USOwFeODわぉこんなのあったんだ
0831名前は開発中のものです。
2007/11/03(土) 13:13:31ID:yRfNEQ490832名前は開発中のものです。
2007/11/03(土) 13:18:12ID:yRfNEQ49コンパイルとかできん
0833名前は開発中のものです。
2007/11/03(土) 14:16:01ID:d6324f18__インストール__
解凍したファイルをhsp3.exeと同じフォルダに入れて使用してください。
レジストリは汚しません。
0834名前は開発中のものです。
2007/11/03(土) 14:36:17ID:RF6QnpEW3Mあるやつは違うぞ
0835名前は開発中のものです。
2007/11/03(土) 14:38:07ID:yRfNEQ49サイトの方ひたすらさがしてたよ
すまん巣
0836名前は開発中のものです。
2007/11/03(土) 20:48:12ID:7mCGZ6XP0837名前は開発中のものです。
2007/11/05(月) 11:37:39ID:a77BZ33b3.1にはないのかな?
0838名前は開発中のものです。
2007/11/05(月) 13:58:53ID:A4Kdm6/Sメモ帖に毛が生えた程度だし。
2.6時代はキーワードのハイライトが便利でずっと使っていた。
0839名前は開発中のものです。
2007/11/05(月) 16:05:43ID:aPVdNpPR0840名前は開発中のものです。
2007/11/08(木) 23:30:20ID:cJVFg4cjだれか親切な人サンプル書いて下さい
0841名前は開発中のものです。
2007/11/09(金) 00:32:35ID:oKTIQ0g3http://hspwiki.tm.land.to/?%A4%AA%B3%A8%C9%C1%A4%AD%A5%C4%A1%BC%A5%EB%A4%F2%BA%EE%A4%ED%A4%A6
2.6のサンプルだけど。
とりあえず標準でも出来んことはないけど、API使った方が手軽じゃね?って感じ。
0842名前は開発中のものです。
2007/11/09(金) 01:57:46ID:As3EURaaできたー! ありがとうう
0843名前は開発中のものです。
2007/11/15(木) 18:17:37ID:FbWDNnC+0844名前は開発中のものです。
2007/11/15(木) 19:02:54ID:ejmS8jGy俺のは駄目だった。まあ案の定なんだけど。
0845名前は開発中のものです。
2007/11/20(火) 02:04:46ID:BbJQBZE+します。よろしいですか?」って聞いてくるやつがあって、なんも考えず「はい」を押したら
自作ゲームまで起動しなくなってしまった。人のPC環境勝手に変更して「戻し方?へっ、
知らないね。OS入れ直せばあ?」みたいなことはほんとやめてほしい。そういうこと平気
でする奴はプログラミングやめてほしい。元に戻せやクズ野郎!>>当人
0846名前は開発中のものです。
2007/11/20(火) 02:12:07ID:gh7PM5W8まじ?
つーか何をするとそこまで吹っ飛ぶんだよw
0847名前は開発中のものです。
2007/11/20(火) 11:32:38ID:o5KeUnvo主催者側がチェックすべき。
0848名前は開発中のものです。
2007/11/20(火) 11:34:14ID:2aoD1CSJなんか良いの有る?
0849名前は開発中のものです。
2007/11/20(火) 20:05:22ID:NhQyu+bH0850名前は開発中のものです。
2007/11/20(火) 21:34:31ID:B+/JlwAo確かにそういうことあるな。
マウスの挙動がおかしくなった。
設定いじるなら終了時に
全て元に戻すような仕組みにしてほしい。
0851名前は開発中のものです。
2007/11/20(火) 21:39:50ID:BTbzDKKu初心者向けはもういいから中級以上向けの本が欲しいな
0852名前は開発中のものです。
2007/11/20(火) 23:39:16ID:8rGmlbd10853名前は開発中のものです。
2007/11/21(水) 01:08:17ID:rvMB34eHあとある程度HSPがわかったらほかのC向けの本とかで勉強すればいい
0854名前は開発中のものです。
2007/11/21(水) 12:11:58ID:K49pMrVCもうちょっと突っ込んだ解説してくれたらなー
0855名前は開発中のものです。
2007/11/21(水) 23:43:11ID:QCjR+5+P3.0本が絶版(事実上)になってるから改訂本的に出したんでしょ
0856名前は開発中のものです。
2007/11/23(金) 17:29:44ID:sleRVsQCそういうポリシーで作ってるアホも実際いるんだろうけど
プログラミング以前の基本的な知識が身についてないから
何が良くて何が悪いのかを分かっていないというのが実情だろう
0857名前は開発中のものです。
2007/11/24(土) 08:39:41ID:1TEXQAY1実際にいるの?
0858名前は開発中のものです。
2007/11/24(土) 09:54:31ID:C1oOiC5t0859名前は開発中のものです。
2007/11/24(土) 09:54:32ID:BFHdZhEC損害賠償できそう。
0860名前は開発中のものです。
2007/11/24(土) 11:05:12ID:8IpA751bつ !kubotar
0861名前は開発中のものです。
2007/11/24(土) 13:52:13ID:/qbjGAUv片っ端から落としてみたが変になるような物はなかったぞ。
見落としもあるかも知れんが。
ALT+F4を考慮していないとかいう単純なバグ?
0862名前は開発中のものです。
2007/11/24(土) 22:25:23ID:jiX5As7A0863名前は開発中のものです。
2007/11/24(土) 22:28:25ID:8sBBToF80864名前は開発中のものです。
2007/11/24(土) 23:12:50ID:/qbjGAUv自力で戻せないというわけでもあるまい。
それすら出来んのなら勝手に再インスコでも何でもしてろw
…と言ったらソフト名晒してくれるかな。
0865名前は開発中のものです。
2007/11/24(土) 23:19:55ID:os6qWTjM>>857の勘違いだろう
0866名前は開発中のものです。
2007/11/24(土) 23:37:18ID:Ubi1zAfJ0867名前は開発中のものです。
2007/11/24(土) 23:39:33ID:0yDEoFwf0868名前は開発中のものです。
2007/11/25(日) 14:39:45ID:KDTUYDg0hspdxfixを使っていて、わからないことがあったので質問させてください。
例えば、タンクアクションを作っているとします。
砲塔の旋回により全方位に弾を撃つので、
狙点を定めるにはes_adirかes_aimを使うのが普通だと思いますが、
減速させようと同じスプライトNo.に再度同じ命令を使うと固まってしまいます。
es_adir等の速度を変数にしても、参照されるのは生成の瞬間だけ。
es_pos等を使って動かす以外にないのでしょうか。
0869名前は開発中のものです。
2007/11/25(日) 15:37:56ID:pbFuYZf1加減速とかするなら「生成してから何フレーム経過したか」、
という並列変数(例 spcnt)が必要になるんじゃなかろうか。
あと発射したときの角度を記憶する配列変数(例 adir)
こんな感じ
repeat
es_adir cnt,adir(cnt),400-spcnt(cnt)
spcnt(cnt)++
loop
これだと400フレーム後には移動量が0になる。
0870名前は開発中のものです。
2007/11/25(日) 17:30:55ID:KDTUYDg0ありがとうございます。
がなかなかうまくいかず、返答が遅くなりました。
といっても、まだ解釈の途中ですが。
ちなみに、初めにこちらが試していたのは、
スプライト生成と見た目の変更のほかには
speed++
getkey k1ms,1
if k1ms=1{es_adir temp,0,speed}
これだけの極めて簡素なもの。
実行すると、弾が発生しては"等速で"飛んでゆく。
もう一発撃つと当然速度は上がるものの、やはり等速。
後から直接速度を変えようと
メインループにes_adir temp,0,speedを組み込むとシステムエラー発生。
どうしろと('A`)
某所では、スプライトを旋回させるのに
*enemy13
kaiten13.enemy+2
if et.enemy>94 : es_adir enemy,kaiten13.enemy,600
という書き方をしていたもので、
なにが間違っているかすらわからない状況です。
0871870
2007/11/25(日) 18:06:37ID:KDTUYDg0丸一日ほど色々試してみます。
試行錯誤の末、どうしてもわからなかったらまた質問させてください。
ありがとうございました。
0872名前は開発中のものです。
2007/11/25(日) 21:23:46ID:ZAW3QiJo0873名前は開発中のものです。
2007/11/25(日) 23:11:04ID:jUUGdFm8過去に全く同じことで悩んだ記憶があるが無理だったと思う。
es_adirもes_aimも同じ性質で「この方向で画面端まで飛んで行って消えてくれ」って命令だから
端まで行って消えるか任意に消去するまで再命令は不可能だった筈。
es_aimで指定した座標にカーリングの弾みたいに減速して止めたかったけど
結局es_posで自作した…ような気がする。
0874名前は開発中のものです。
2007/11/26(月) 00:01:10ID:05QpiY48この書き方だとキーを押した時だけしかes_adirが実行されてないから
毎フレームes_adirが実行されるようにすれば良いんじゃね?
弾を複数発撃つんなら、>>869が言うように配列使って動かしてないから
システムエラーになるのではないかと。
0875870
2007/11/26(月) 07:57:21ID:Tpi7w11tなるほど。そもそもそういう命令ではない、ってことですね。
弾種豊富だし、あとでモジュール組むか。
円周3600分割で精度を得るには三角関数テーブルを、
1フレームあたり1ドット以下の移動には固定小数を使えばいいんでしたっけ。
とりあえず、やってから考えるか……
>>874
どうも一つしか撃たない構造でも、
同じスプライトにes_adir等を二回使った時点でエラーが出るようで。
0876名前は開発中のものです。
2007/11/26(月) 11:38:01ID:uR6AtE65敵にあっち行ってこっち行ってそっち行ってって使い方をしようとしていたんだが。
いったん消去して実装したりしたけど結局es_pos使った気が。
ちょっとマニュアルの記述が言葉不足かもしんない
0877名前は開発中のものです。
2007/11/26(月) 13:14:17ID:OPbsEGua全然そんなこと無いよ…?
0878名前は開発中のものです。
2007/11/26(月) 14:28:24ID:6sR6RzJa#module
#defcfunc plus array p1, array p2
p1(0) = p1(0)+p2(0)
p1(1) = p1(1)+p2(1)
return p1
#global
dim a,2 : a = 50,500
dim b,2 : b = 50,500
dim c,2
c = plus(a,b)
mes " "+c(0) + "\n " + c(1)
この文で、配列cに、a,bの各要素を足したもの、
この場合、[100, 1000]としたいのですが、一つ目の100しか
返してくれません。何がいけないのでしょうか?
0879名前は開発中のものです。
2007/11/26(月) 14:37:50ID:OPbsEGua#deffunc plus array p3, array p1, array p2
foreach p3
p3(cnt) = p1(cnt)+p2(cnt)
loop
return
#global
0880名前は開発中のものです。
2007/11/26(月) 14:44:55ID:OPbsEGuaplus c,a,b ※a,b,cの配列数は同じにすること
return は配列そのものを返してくれるワケじゃなくて
あくまで中に入っている一つの値だけ。
>>878のモジュールでは
c = plus(a,b)ってやっても c(0) にしか入らないし、p1(0)しか返さない。
それと、aの配列に合計が入っているはず。
0881名前は開発中のものです。
2007/11/26(月) 16:10:12ID:6sR6RzJaretrunについて誤解していました。>>879使わせて頂きますね(^^
>>aの配列に合計が入っているはず
あれ本当ですね。何故、#module〜#global間のp1が、
aに入ってしまうのかがよくわかりませんが
0882名前は開発中のものです。
2007/11/26(月) 17:10:45ID:qSbsXIhe0883名前は開発中のものです。
2007/11/26(月) 19:19:26ID:Wxd8eRx70884870
2007/11/26(月) 20:27:17ID:Tpi7w11t私の環境では>>873殿の言うとおりエラーが発生します。
こんなにシステムエラーなのに他の方々はできるという……
es_adirの上書きができる。そう思っていた頃が私にもありました。
じゃあできるんじゃね? ということで、最もシンプルに、
es_adirを二回連続で使ってみますと、エラーは出ません。
一度目と二度目の内容を変えると、二度目の内容が反映されます。
どうやら、直前にes_setを使わねばならないようです。
どう見ても解決です、本当にありがとうございました。
こんなのありか……orz
0885名前は開発中のものです。
2007/11/27(火) 15:02:50ID:2s9ARvwK#const 周の精度 3600
sw=640:sh=480:cw=16:ch=18:spd=150
es_ini 256,256,周の精度:onexit *quit
es_screen sw,sh,32,0,1,0:if stat:goto *quit
buffer 2,sw,sh:cls 4
es_buffer 2:pos 0,0:es_mes "●",2 ;・スプライト定義
es_size cw,ch,100,0:es_expat 0,2,0,0,0
es_area 0,0,sw-cw,sh-ch ;・移動範囲設定
gosub *rst:gsel 0
repeat ;---
title strf("cnt:%09d",cnt)+strf(" ang:%d",ang)+strf(" spd:%d",spd):wait 0
stick s,15:es_get f,0,0
if ((f=0)|(s=16)) :gosub *rst ;■画面外かスペースで再配置
if (s=128):break ;■ESCで終了
if (s&15) { d=(s=1)-(s=4) ;■カーソル左右で旋回
v=(s=2)-(s=8) ;■カーソル上下で加減速
spd += v*10: ang=(d*18+ang) \ 周の精度
es_adir 0,ang,spd } ;・es_adirを実行。
es_boxf 0,0,sw,sh:es_draw:es_sync -16
loop ;---
*quit:es_bye:end ;・終了
*rst: es_set 0,(sw-cw)/2,(sh-ch)/2,0,0 ;・画面中央に配置
es_adir 0,ang,spd:return
// 読めばわかると思うが、カーソルを押しっぱなしにすれば
// 何回でもes_adirが実行され、上書きされることになる。
// es_setも配置時に使用するだけ。
// es_adir直前にes_set〜する必要なし。
0886名前は開発中のものです。
2007/11/27(火) 20:04:10ID:/E2RVsDr0887名前は開発中のものです。
2007/11/28(水) 18:58:07ID:ZCuN5NeB□
ノ []
つ ⌒◇
0888名前は開発中のものです。
2007/11/29(木) 15:28:12ID:pGv35G472〜3日前に始めたばかりの自分には眩しすぎる
もっと修行積んだらまたきます
0889名前は開発中のものです。
2007/12/01(土) 17:30:12ID:k/0mXpmN0890名前は開発中のものです。
2007/12/01(土) 19:27:06ID:ZWPtp3/g0891名前は開発中のものです。
2007/12/01(土) 20:54:27ID:ziolDcXP0892名前は開発中のものです。
2007/12/01(土) 21:00:07ID:Z6Ha82eQ//////
//////
\ /
|」
|.|
|.|
|」
|.|
|.|
逆さ箒
0893870
2007/12/02(日) 02:55:42ID:jGcwLhvQ返答が遅くなって申し訳ありません。
確かに真っ当に動いていますね……
こちらのコードでもes_setは不要なようで、成り行き上の勘違いでした。
わざわざありがとうございました。
精進せねばなぁ……
0894名前は開発中のものです。
2007/12/02(日) 09:51:27ID:LD+WrE3C受賞作はみんな落としてやってみたが、どれも見るべきところがあってよかった。
0895名前は開発中のものです。
2007/12/02(日) 10:14:51ID:/h3wGpAY思っています。ウィンドウ表示の中に画像を出すのではなく、デスクトップの画面上に出すには
どういう手法があるのでしょうか?少しググって調べましたが、それらしき例ソースがないもので・・・
0896名前は開発中のものです。
2007/12/02(日) 10:43:57ID:7xcdgEIJAPIでリージョンとかレイヤーていうウィンドウ作ってそれに絵を乗せるんだけど・・・
初心者がいきなり挑戦は厳しいかもしれない
近道はHSP-NEXTのモジュール群を使えば3分で作れると思う
0897名前は開発中のものです。
2007/12/02(日) 10:55:16ID:/h3wGpAYモジュール等もよく分かってないのでちょっとHSP-NEXTのHPを眺めながらしばらく悶々とします・・・
ありがとんです
0898名前は開発中のものです。
2007/12/02(日) 12:46:32ID:/KfVlpR70899名前は開発中のものです。
2007/12/02(日) 12:59:54ID:zJ8s/y1UHSP Program Contest TV 2007 November(1)
http://www.youtube.com/watch?v=6GE4FR2J2WI
HSP Program Contest TV 2007 November(2)
http://www.youtube.com/watch?v=OpGy1_k3oXE
HSP Program Contest TV 2007 November(3)
http://www.youtube.com/watch?v=jTy3PHC3pnM
HSP Program Contest TV 2007 August(1)
http://www.youtube.com/watch?v=29VdlgYEx2Q
HSP Program Contest TV 2007 August(2)
http://www.youtube.com/watch?v=7xhcM_-wZzE
HSP Program Contest TV 2007 August(3)
http://www.youtube.com/watch?v=GPABtimWf9s
HSP Program Contest TV 2007 August(4)
http://www.youtube.com/watch?v=NoliH-c1_D8
0900名前は開発中のものです。
2007/12/02(日) 17:22:40ID:eoDSR9Z60901名前は開発中のものです。
2007/12/03(月) 03:22:21ID:lU/Pu+m8全部やってみたのか。暇人だな。
0902名前は開発中のものです。
2007/12/03(月) 23:42:16ID:5ttlQlYL全部やるのメンドイ
0903名前は開発中のものです。
2007/12/03(月) 23:44:58ID:zI7oLg9W0904名前は開発中のものです。
2007/12/04(火) 16:39:52ID:sYvEF57THSPとは思えん。
戦車の奴も面白え。
0905名前は開発中のものです。
2007/12/04(火) 17:21:26ID:/uYf3wz+0906名前は開発中のものです。
2007/12/04(火) 19:44:52ID:gBG9dFyY0907名前は開発中のものです。
2007/12/05(水) 06:17:32ID:lcXjXoG6HSPでも、しかも個人でこんなん作れんだな…。
0908名前は開発中のものです。
2007/12/05(水) 15:33:53ID:a4JAzE+S0909名前は開発中のものです。
2007/12/05(水) 20:59:01ID:bC8Q8nhy01 #const global 短細 200
02 #enum 短細赤 = 短細
03 #enum 短細青
04 #enum 短細紫
05 #const global 短細X 9
06 #const global 短細Y 17
07 #const global 短細HX 短細X>>1
08 #const global 短細HY 短細Y>>1
09 ;cx cy キャラクター位置情報
10 #module
11 #deffunc CreateShot int seed, int tone
12 es_exnew temp@,SHOTMIN@,SHOTMAX@
13 if temp@!-1 {es_set temp@,cx@+(CHARSIZE@>>1)-(17>>1),cy@+(CHARSIZE@>>1)-(19>>1),seed+tone,1
14 es_adir temp@,0,300
15 es_effect temp@,-短細X@,-短細Y@,0,0,0,-1,120}
16 return
17 #global
18 getkey Lclick,1 ;1=左クリック メインショット
19 if Lclick=1{
20 if time\7=0{CreateShot 短細,紫}}
(暫定版のため@使いまくりですが)弾を撃つ処理を分離しようと、
このようにしました。この状態では正常に動きます。
CreateShotに渡す値を少なくするため、15行の[-短細X@]を[int seed]+"X"のようにしたいのですが、
変数と文字列を組み合わせて別の変数を表現するにはどのようにすれば良いのでしょう。
また、11行の[int seed]の型をvarやstrに変更すると、
[変数名が指定されていません][パラメータの型が違います]とエラーになります。
正しくはどのようにして変数そのものを#deffuncに渡すのでしょうか。
0910名前は開発中のものです。
2007/12/05(水) 22:45:38ID:K436r62/0911名前は開発中のものです。
2007/12/06(木) 00:10:11ID:qSs1w1gN定数だらけのヘッダファイル作るのに夢中になったり。
レス数が900を超えています。1000を超えると表示できなくなるよ。