HSP - Hot Soup Processor [6]
1 :
名前は開発中のものです。 :
04/03/07 21:01 ID:XxrmN16J ( ,,,)
.( ,,) スクリプト言語 HotSoupProcessor について
( ,,). ゲーム製作の視点から、また〜りと語り合うスレ。
, -──- 、
(,;::-──-; )-、
.|` ̄ ̄ ̄´;;|ヽ l * 質問する前に検索してみる事
l; :::;;;l-' / * ヲチ、ネタなどはスレ違い
,-ヽ───.'-、´.. * 前スレ、関連サイトは
>>2-5 あたり
ヽ ──── '
1乙。
4 :
名前は開発中のものです。 :04/03/07 21:18 ID:1bfCCC65
HSP Plug-in Information Center のリンクは死んでるよ
HSPで簡単なシューティングゲームの作り方を教えてください。
何もしなくても得点が入るとか。 title "簡単なシューティングゲーム" repeat:redraw 0:palcolor 255:boxf:color pos 0,0:mes "score : "+cnt+"0000":pos 300,300 mes "△ ←自機":redraw:wait 1:loop
∩___∩
| ノ ヽ
/ ● ● |
| ( _●_) ミ 去年までシューティング最高点1000点だった。
彡、 |∪| 、`\
>>8 をやって2分で100000000オーバー。一度やってみなよ
/ __ ヽノ /´> ) マジお薦め
(___) / (_/
| /
| /\ \
| / ) )
∪ ( \
\_)
10 :
981 :04/03/08 12:16 ID:j5zYpHz8
前スレでシューティングのキャラの動かし方について質問した者ですが、今度は弾 を発射するとこで躓いています。 サンプルなどから丸ごとコピーして使えばできるんですが、自分なりにプログラム を作ってみるとうまく作動しません。サンプルと比較したり、何度も見直したりし て、間違ってないはずなんですがエラーがでるわけではなく解決できません。 プログラムの順番や、例えばrepeat〜loopの間にはawaitを入れる、など、なにか 注意することとかあるんでしょうか。 最近始めたばかりなんですが、皆さんが始めたときってうまくいきましたか? いろんな本やサイトで探してもその辺のことはなかなか書いてないのでよかったら 聞かせてください。
>>10 うまく作動しません、と言われてもわかりません。
何がどう上手く動かないのか説明してくださいな。
動かないソースをうpするのも良し。
>8 >9 マジウケタ。
13 :
10 :04/03/08 12:55 ID:j5zYpHz8
screen 0,960,640,4,20,20 buffer 2 : picload "jiki1.bmp" jx=480 : jy=580 tamakazu=10 dim tamaon,tamakazu dim tamax,tamakazu dim tamay,tamakazu gsel 0 *main repeat redraw 0 color 0,0,0 : boxf gosub *jiki gosub *tama redraw 1 await 15 loop *jiki gosub *jikimove pos jx,jy gcopy 2,0,0,64,64 return
14 :
10 :04/03/08 12:56 ID:j5zYpHz8
*jikimove stick key,31 if key=1 : jx=jx-3 if key=2 : jy=jy-3 if key=4 : jx=jx+3 if key=8 : jy=jy+3 if key=3 : jx=jx-3 : jy=jy-3 if key=6 : jx=jx+3 : jy=jy-3 if key=9 : jx=jx-3 : jy=jy+3 if key=12 : jx=jx+3 : jy=jy+3 if jx<0 : jx=0 if jx>896 : jx=896 if jy<0 : jy=0 if jy>574 : jy=574 if key=16 : gosub *shots return *shots repeat tamakazu if tamaon.cnt=1 : continue tamaon.cnt=1 tamax.cnt=jx tamay.cnt=jy break loop return
15 :
10 :04/03/08 12:57 ID:j5zYpHz8
*tama repeat tamakazu if tamaon.cnt=0 : continue tamay.cnt=tamay.cnt-10 pos tamax.cnt,tamay.cnt mes "o" if tamay.cnt<=0 : tamaon.cnt=0 loop return
16 :
10 :04/03/08 12:59 ID:j5zYpHz8
なんか修正ばかりしてもらって悪いなぁと思って。。質問ばかりなのでたいして 変わらないけど。 キャラが動くところまでは出来て、弾発射が出来ていません。まだ命令自体いまぐらい が限界ですがよろしくお願いします
弾の色が背景の色と同じだなんて、俺にはとても言えないぜ。
18 :
10 :04/03/08 13:59 ID:j5zYpHz8
すみません。ありがとうございます。 サンプルのヤツそのままコピーして、見てませんでした。 失礼いたしました。
いい釣り日和だなぁ、
>>10 よ…
( ´−`)y―┛~~
20 :
√i :04/03/08 15:27 ID:Les8ZLW+
だれか↓の内容でスレ立ててくれない? ★★HSPでFFを作ろうよ!★★ こんなスレ立てて、厨房とか言われそうですが FFみたいなRPG作りたくて頑張ってる人いるでしょ? これから作りたい人も大歓迎!! 「マップエディターって何ですか?」 こんな厨な質問もOKだぞ!! 何も知らない人が、このスレを初めから読んだら HSPでFFを作る為に必要な知識が身に付いていくような スレにするつもりだ。 ただし、自分から積極的にプログラムをものにする姿勢は忘れないでくれ! これだけは約束して欲しい。 ここに書ききれない事は、参考アドレスを載せるからそこをじっくりと読んで 学んでくれ。で、分らない事は書いてくれたら答えてやるよ。 絶対、HSPでFFが作れたなら、他の言語でも作れるはずだから。。。
ま た F F 厨 か (´ー`)y-~~ FF6くらいまでなら作れるんじゃないの? 所要時間のほとんどは素材の制作だけどな
ここの連中じゃFF1もつくれないと思う
技術的にはべつに何の問題も無いだろうが あんな規模のものHSPで作りたいの?
そもそも世にHSPでRPGを作った人が何人いるやら。
一億万人以上います!!!
;シューティングゲーム、Ctrlでフーン、矢印キーで移動。 ; *init:screen 0,640,280,1:title "( ´_ゝ`) VS \( `д´)/":dim tx,64 dim ty,64:dim txv,64:dim tyv,64:dim tyvy,64:dim dx,16 dim dy,16:x=20:y=130:endf=0:dim cx,64:dim cy,64:dim cxv,64 dim cyv,64:repeat 64:tx.cnt=-100:cx.cnt=-1:loop repeat 16:scx.cnt=640:loop *main :color:stick key,79,1:xv=(key&4>0)-(key&1):yv=(key&8>0)-(key&2>0) x+=xv*5:y+=yv*5:if x<0{x=0 } else{if x>560 { x=560}}if y<0 { y=0 }else{if y>260{y=260}}:pos x,y:mes "( ´_ゝ`)":if (key&64>0)&(i<0){ dx.dp=x+100:dy.dp=y:dp=dp+1&15:i=5}:i--:repeat 16:if dx.cnt=0{continue} pos dx.cnt,dy.cnt:mes "フーン":dx.cnt+=10:if dx.cnt>640{dx.cnt=0}:loop if j&7<1{tx.tp=640:rnd ty.tp,260:rnd txv.tp,5:txv.tp+=sc/25+2 rnd tyv.tp,6:tyv.tp+=3:tyvy.tp=ty.tp:tp=tp+1&63}:repeat 64 pos tx.cnt,ty.cnt:mes "\( `д´)/":tx.cnt-=txv.cnt tyv.cnt+=(ty.cnt<tyvy.cnt)-(ty.cnt>tyvy.cnt):ty.cnt+=tyv.cnt k=cnt:repeat 16:if dx.cnt=0{continue} x1=tx.k-dx.cnt:y1=ty.k-dy.cnt if (-100<x1)&(x1<30)&(-20<y1)&(y1<20){repeat 6:cx.cp=tx.k+15 cy.cp=ty.k+10:rnd cxv.cp,15:cxv.cp-=7:rnd cyv.cp,10:cyv.cp-=6 cp=cp+1&63:loop:sc++:dx.cnt=0:tx.k=-100}:loop:x1=tx.cnt-x:y1=ty.cnt-y if (-90<x1)&(x1<80)&(-20<y1)&(y1<20){endf++}:loop:repeat 64 t=249,250,252,255:a=cnt+j&3:palcolor t.a boxf cx.cnt,cy.cnt,cx.cnt+1,cy.cnt+1:cx.cnt+=cxv.cnt:cy.cnt+=cyv.cnt cyv.cnt++:loop:palcolor 9:if j&15<1 { scx.scp=-100:rnd scy.scp,260 scp=scp+1&15}repeat 16:pos scx.cnt,scy.cnt:mes "得点:"+sc scx.cnt+=sc/25+5:loop:j++:redraw 1:redraw 0:if endf{ dialog "あぼーん" goto *init}palcolor 248:boxf:await 30:goto *main
( ´_ゝ`) フーン フーン フーン
フーン フーン フーン
>>27 フーン フーン
;スコア初期化されてないみたいなので ;修正。 *init:screen 0,640,280,1:title "( ´_ゝ`) VS \( `д´)/":dim tx,64 dim ty,64:dim txv,64:dim tyv,64:dim tyvy,64:dim dx,16 dim dy,16:x=20:y=130:endf=0:dim cx,64:dim cy,64:dim cxv,64 dim cyv,64:repeat 64:tx.cnt=-100:cx.cnt=-1:loop repeat 16:scx.cnt=640:loop:sc=0 *main :color:stick key,79,1:xv=(key&4>0)-(key&1):yv=(key&8>0)-(key&2>0) x+=xv*5:y+=yv*5:if x<0{x=0 } else{if x>560 { x=560}}if y<0 { y=0 }else{if y>260{y=260}}:pos x,y:mes "( ´_ゝ`)":if (key&64>0)&(i<0){ dx.dp=x+100:dy.dp=y:dp=dp+1&15:i=5}:i--:repeat 16:if dx.cnt=0{continue} pos dx.cnt,dy.cnt:mes "フーン":dx.cnt+=10:if dx.cnt>640{dx.cnt=0}:loop if j&7<1{tx.tp=640:rnd ty.tp,260:rnd txv.tp,5:txv.tp+=sc/25+2 rnd tyv.tp,6:tyv.tp+=3:tyvy.tp=ty.tp:tp=tp+1&63}:repeat 64 pos tx.cnt,ty.cnt:mes "\( `д´)/":tx.cnt-=txv.cnt tyv.cnt+=(ty.cnt<tyvy.cnt)-(ty.cnt>tyvy.cnt):ty.cnt+=tyv.cnt k=cnt:repeat 16:if dx.cnt=0{continue} x1=tx.k-dx.cnt:y1=ty.k-dy.cnt if (-100<x1)&(x1<30)&(-20<y1)&(y1<20){repeat 6:cx.cp=tx.k+15 cy.cp=ty.k+10:rnd cxv.cp,15:cxv.cp-=7:rnd cyv.cp,10:cyv.cp-=6 cp=cp+1&63:loop:sc++:dx.cnt=0:tx.k=-100}:loop:x1=tx.cnt-x:y1=ty.cnt-y if (-90<x1)&(x1<80)&(-20<y1)&(y1<20){endf++}:loop:repeat 64 t=249,250,252,255:a=cnt+j&3:palcolor t.a boxf cx.cnt,cy.cnt,cx.cnt+1,cy.cnt+1:cx.cnt+=cxv.cnt:cy.cnt+=cyv.cnt cyv.cnt++:loop:palcolor 9:if j&15<1 { scx.scp=-100:rnd scy.scp,260 scp=scp+1&15}repeat 16:pos scx.cnt,scy.cnt:mes "得点:"+sc scx.cnt+=sc/25+5:loop:j++:redraw 1:redraw 0:if endf{ dialog "あぼーん" goto *init}palcolor 248:boxf:await 30:goto *main
( ´_ゝ`)とりあえず一番下の無敵空間で1000ゲトーだな
てか動かなければ大丈夫……
なんかね よくこんなに簡単にシューティングが作れるのか疑問。 HSP起動して10分で挫折した自分は駄目人間ですな。
フーン フーン
フーン フーン フーン
>>33 ( ´_ゝ`) フーン フーン フーン
>>29 段々と速くなる敵が、アルゴスの戦士の永パ防止キャラを思い起こさせた。
できるだけ綺麗に60フレで動作するゲームにしたいのだが、 ウェイトやらvsync?とかって何を使ったらよいの? 今は、 ------ es_screen wx,wy,8 *loop (メインプログラム) es_draw pos 0,0:es_mes "FPS:"+fps_stat es_sync 17 es_getfps fps_stat await 0 goto *loop ------- という感じにしてる。 本当はes_sync 16で60フレに近くなるんだけど、 フルスクリーンにするとなぜか画面が乱れる…。 うちの環境だけ?
>>36 es_sync の引数省略で、垂直同期だった気がする・・・。
でもそれじゃあリフレッシュレートの問題があるから、
コンフィングとかでいろいろ変更できる設計にした方がイイよ。
リフレッシュレート同期にするなら引数なしで。 60FPSにしたいなら、モニタのリフレッシュレートを60Hzにする。 綺麗というならこれが一番綺麗。 ウェイト入れるなら負の数にしたほうが良いんじゃ es_sync -17,1 とか。
時代はHSPDXA.DLLか。
でもHSDXaって細かいバグが多いよね。 スプライト表示で一部の箇所が チカチカ変に表示されてる事がある 低いバージョンにしたら直ったけど。
>>40 あれウェイトが安定しないんだが、ウチだけ?
42 :
名前は開発中のものです。 :04/03/09 23:28 ID:iubW/9qd
HSP2.6のクックブック、ネット書店を探し回ったけどどこも在庫切れ・・・_| ̄|○ 大型書店ならあるんだろうけどケガしてるから外出しにくいんだよなー
>>41 俺もウェイト入れたら安定しなかった。
mainルーチン空回りさせたらFPSが不安定になるのに、
何故かスプライトが大量に発生するほどFPSが安定した。
同期にするのなら、なんらHSPDXと変わりはないと思う。
HSPDXAよりZGPのほうが良いかな?
RPGツクールXPにRubyが採用された。 HSPが採用されてたらこのスレ盛りあがったかもしれないのにね。
46 :
Age.P.Hukai ◆hsp/8n/.as :04/03/10 19:57 ID:fhWoP1/d
何でRubyなんて糞言語選ぶんだよ
>>42 紀伊国屋のオンラインショップで先月あたりに買ったけど
買う前在庫希少だったのが発注されたら在庫なしになったからアレが最後の一冊だったのかな
50 :
Age.P.Hukai ◆hsp/8n/.as :04/03/10 21:27 ID:fhWoP1/d
>>50 Rubyを擁護する訳じゃないが、
そんな事言ったらHSPも宗教みたいなもんだろ。
正直、Rubyに対する暴言は、HSPにも結構あてはまると思う。
つか、正直に言えば、言語論争は荒れる元だから止めてくれ。
にほpんご満せー
>>44 ZGPはDirectXの初期化をまともに動くようにするまでが大変。
速度は若干ZGPのほうが速いような気もするけど、
2DだけならHSPDXaで十分だと思う。
>>52 にほpんごは俺は好きじゃないな。
なぜって、にほpんごだぜ?
俺は日本語しか好きにはなれないな。
あっそ
>>46 オープンソースだからじゃない?
HSPはクローズドでしょ?
まあ、言語自体宗教ですしね
HSPは構造体を持てないのが辛い。RPGが作りにくいんじゃー
59 :
48 :04/03/11 22:13 ID:oTMksO9C
そういやGCAって圧縮形式あったよな。 神になれたのかもな。
作りかけの厨房作品があるのだが、UPしていいか?
>>61 ちょっと用事があるから明日になるよ(^^;)スマソ
>>58 多次元配列つくって
defineしまくってガンガレ
64 :
Age.P.Hukai ◆hsp/8n/.as :04/03/12 19:06 ID:gB9Ql4iC
構造体が使えるようになるプラグイン
65 :
Age.P.Hukai ◆hsp/8n/.as :04/03/12 19:07 ID:gB9Ql4iC
66 :
Age.P.Hukai ◆hsp/8n/.as :04/03/12 19:10 ID:gB9Ql4iC
誰か作れよ。
機能提供用のプラグインで言語仕様まで拡張できるかよ
「define.as」で保存 #module #deffunc define_name sdim name,40,2 name.0 = "スライム" name.1 = "レッドスライム" return #deffunc name_set int, val mref flag,0 mref get_name,25 flag -= 100 get_name = name.flag return #global #define name 0 #define hp 1 #define attack 2 #define _slime 100 #define _red_slime 101
#include "define.as" define_name slime.name = _slime slime.hp = 10 slime.attack = 3 name_set slime.name, monster_name mes monster_name + " HP " + slime.hp + " ATTACK " + slime.attack red_slime.name = _red_slime red_slime.hp = 20 red_slime.attack = 5 name_set red_slime.name, monster_name mes monster_name + " HP " + red_slime.hp + " ATTACK " + red_slime.attack stop
71 :
69=70 :04/03/13 05:41 ID:ueH9ss4D
HSPで構造体もどきって、こんな感じかい?
>>63 は思いつきで書いたんだが
結構それっぽくなるもんだなw
モジュール部を別ファイルにすんな
あくまで構造体「もどき」な。 HSPの言語仕様では文字型と数値型がその型のままで混在できないから。
STGもRPGも結局このやり方に落ち着くのか・・・。
77 :
名前は開発中のものです。 :04/03/14 03:47 ID:GvxNT3qp
SRPGのバトルの際の敵AIって どんな風な流れにすればいいんでしょか? イマイチぴんと来ないんですが。 誰かおせーて('-'*)
>>77 分かんねーーー。
でも暇だから適当に、移動について考えてみた。
●直接攻撃キャラ
低脳だから、とにかく最寄の見方パーティーに接近してくる。
隣り合ったら100%直接バトル。
●間接攻撃キャラ
間接攻撃が、見方パーティーにギリギリ届く場所に移動しようとする。
対象パーティーの決定法は、ランダム、距離、HP弱いやつ優先など。
●回復キャラ
回復魔法が、敵パーティーにギリギリ届く場所に移動
かつ、見方パーティーの中心(ムズいが・・・)から離れようとする。
回復は自分以外を優先。とか?
79 :
77 :04/03/14 04:52 ID:GvxNT3qp
>>78 大体のイメージはできますた。
やっぱ、AIって一つずつやってくしかないんすかね?
条件○○だったら××、
条件□□だったら△△
条件◇◇だったら〜〜〜〜・・・・
・・・・
これの内容が細かくなるほどバラついた行動ができるのかな?
毎回同じ行動ばっかりになりそうで怖いんだけど、
その辺り、先輩方はどうしているんでしょう・・・。
ご教示きぼん('-'*)
評価関数を作って先読み探索する
>>79 ヌオ。あなたマジですね。
俺にはSRPGの様な大規模な物はムリです。
もっと人が多いときに質問しましょう。
条件だけだと確かに毎回同じになりそうですねぇ。
適度に乱数使ってもいいんじゃないですか?
どの魔法を使うとか、攻撃対象とか・・・。
ダメージ量なんかは設定するの楽しそうですね。
単純にいくとこんな感じか。。。
rnd tmp,10
intDame=(intMy.of*2)+(intMy.of/5*tmp)-intEn.df
基本分 誤差 敵守備
反対属性なら2倍、一致なら半減とかも面白そう・・。
なんか俺も作りたくなってきた。
うんこった。 こんなヘボ、訂正したくも無いが。 intDame=(of.intMy*2)+(intMy.of/5*tmp)-df.intEn
作ってみればまともに移動するだけのことが大変な処理だときづくよ
HSP作でSRPGってあったかな。。
85 :
Age.P.Hukai ◆hsp/8n/.as :04/03/14 10:31 ID:zpxCo/nL
言ってしまえば、コンピューターは電卓。 人間のような動作をさせるには難しい。
86 :
77 :04/03/14 11:04 ID:GvxNT3qp
クックブックで解説されてるゲームに シュミレーションがあるんすよ(お世辞にも面白いとは言えないが) でもちゃんと移動・攻撃はするんで、あとはそれを元に 簡単なのから行こうと思うんですけど。 どのみち完成予定はなしです。無理です。でもやってみたい(´ー` )
どうせならとことん趣味的にやるがよろし。 条件に対して可能な行動に対する 評価点をつけていくといいと思うヨ。 そして評価点の積み重ねで 最も評価点の高い行動を選択させる。 毎回一定の行動だと微妙な場合もあるので 適度に乱数を足したり引いたりする。 知性値なんかを設定して、それに応じてランダム度が変化とかすると キャラごとに性格付けなんかもできたりする。
ミニマックス法はアルゴリズムの基本
90 :
77 :04/03/14 19:11 ID:GvxNT3qp
オセロとか将棋だったらわかるんだけど、 まぁ例えば技とか魔法とか、装備とかステータスなんかも 決まってて、どうやって点数をつければ… ここんとこイマイチ…。 脳みそカラでスマソ
>>90 例えば、パーティのHP・MPと人数、地形の有利、極端に弱ったキャラの人数、
何人が相手の攻撃範囲に居て、何人が味方の回復範囲に居るか、
攻撃範囲に居て、可能性のあるダメージは何ポイントか、またその命中率、
極端に密集していて、範囲魔法・特技などの対象になりうるか、
ステータスの変化(毒・麻痺など)
などの要素を材料に、適度なスピードが出るように評価。
結局の所、「どんな盤面が有利(もしくは不利)と言えるか」を考えれば、
どんなゲームでも作れると思う。
92 :
77 :04/03/14 20:40 ID:GvxNT3qp
やっぱ難しいな… ゲーム製作は茨の道だよ…
シロートがいきなり市販レベルってのは難しいだろうから できるところからできる範囲でがんばればいいんジャネーノ?
市販のは複雑化しすぎてメリハリなくなってグダグダなの多いし
95 :
77 :04/03/15 00:47 ID:VI26oouf
市販レベルとまでは行くつもりないですナァ・・・ つか、行けないわけだけども。。。 フリーソフトとかで時々ヒドイのがあるでそ? そういう風にはなりたくないから、ある程度遊べる ようなのがいいんよ。 贅沢だろうか。
>>95 講座のソースちょこっと変えただけ系 とか多すぎですよねぇ。
たしかに、公開しても恥ずかしくないレベルってのはあるかもです。
HSPって時点で・・・。とか言ってる人もたまに居ますが。。。
作れない&公開しない人よりは、はるかにマシと思われ
77は、ここでグダグタ言うよりも、簡単なものでいいから とりあえずプログラムを組め。 不満点が出たら、そこを改良していけば良い。
どうせたいした技術もやる気もねーんだろ
HSPO2を使わずに通信ゲームを作ってみたいのですが 参考になるサイト知りませんでしょうか?
アクションとか作る際に、効率のいい当たり判定ってどんなのがいいんですか? ぼくはいつも if x.0<(x.1+20) & y.0<(y.1+20) & y.0<(y.1+20) & y.0<(y.y+20) みたいにやってかなり効率悪そうなのですが・・・。
一つ間違えました。 if x.0<(x.1+20) & y.0<(y.1+20) & y.0<(y.1+20) & y.0<(y.1+20) です。 まぁ大して変わらないだろうけど・・・。
ACTとかSTGだったら大抵DirectX使うから プラグインの命令使う人が大部分と思われ。
>if x.0<(x.1+20) & y.0<(y.1+20) & y.0<(y.1+20) & y.0<(y.1+20) 確かに効率悪いな
当たり判定用モジュールを作成する
いや、コレも効率悪いな。googleで調べなさい!
親切に素早くどうも。 試行錯誤してみます。
xs=x.0-x.1 : if xs<0 : xs=xs*-1 ys=y.0-y.1 : if ys<0 : ys=ys*-1 if (xs<15)&(ys<33) : あたり こんな感じにしてみました。 この方がベターですよね?
109 :
77 :04/03/15 18:36 ID:VI26oouf
>>98 まったく言うとおりですな、しかし
別にいきなり高機能なの作る気なんてないよ
今だって処理ごとにテストしてるだけだし
>>99 今か今かと思っていたが、ついに叩かれた。悔しい。
>>108 それでいい。それでいい。
っつーか俺もそんな感じだ。
だからそれでいい。
>>109 とりあえず15パズルから始めとけ。
その後はテキトーにシューティングだ。
で、テトリス、オセロ、ぷよぷよ、パックマンの順で作っていけ。
アクションは見た目以上に難しいから慣れるまでやめておいた方がいい。
>>108 if (x.0-x.1/16)|(y.0-y.1/34)=0 : あたり
112 :
108 :04/03/15 19:45 ID:zvXttnAb
>>111 おお。さり気なく素晴らしい。
無駄に変数を利用しない辺りが初心者を逸脱している。
その上ノーコメント。真の上級者は無駄な主張は一切しないのですね。
ありがとうございます。使わせていただきます。
“「1未満」=0” と計算されるということなのでしょうか?
114 :
108 :04/03/15 22:11 ID:zvXttnAb
>>113 HSPでは小数点以下の計算はしないんです。
そこを使ったわけですね。
(´-`).。oO(でも除算って速いのだろうか。。。)
HSPはどうかしらないが、2のべき乗なら早そうだし、 へたな条件分岐をするより良いコードだと思う。
CPU命令レベルでは乗除算命令は激しく遅いが、HSPではインタプリタの オーバーヘッドのほうがすっと大きいから関係ない。 HSPに処理させるコードを削減すると速くなる。
書きこみミスすまん
>>111 素晴らしい。漏れも使わせてもらいます。
ところで細かいことのようだけど|じゃなくて&な気がする。
>>119 > |じゃなくて&な気がする。
きわめて特殊な当たり判定だな。
ちょっと議論中スマソ HSPDxってありますよね あれのバッファって、横長のを作るのはあまりよろしくないって聞いたけど、 それでも、横に長い物を作らなければいけない場合(2D横ACTなど) どうすればいいのでしょうか やっぱり、bufferを2度コピー(es_bufferに送ってes_screenに送る)しなければいけませんか? 誰か、教えてください。
baka baka ba-ka
123 :
108 :04/03/16 21:54 ID:ZEhOW1M+
108ですが、アクションパズルになりそうな微妙なものになりましたので、
感謝を込めてアップしてしまいました。もちろん未完成ですが。
必ずしも私のページとは限りませんがインデックスとかはできれば見ないでください。
ttp://ko-suke-web1139.hp.infoseek.co.jp/puchi.zip 一応の目的として後ろで走っている方より速く走ってください。判定はありません。
黄金のシューズを手に入れれば後ろの人より足が速くなるという伝説が・・・。
って、ストーリー作るの早過ぎだよ、まだ意味ないよ。
赤靴でジャンプ力アップ、緑靴で素早さアップ、青靴で空中ジャンプができるように。
黄色のシューズを取ればもうすることはありません。
>>121 HSPDxすら分からないのですみませんが教えられません・・・。
>>122 IDがthx。何事にも感謝する気持ちを忘れちゃダメですよ。
124 :
Age.P.Hukai ◆hsp/8n/.as :04/03/16 22:55 ID:en/V0rt9
125 :
108 :04/03/16 23:17 ID:ZEhOW1M+
126 :
108 :04/03/16 23:24 ID:ZEhOW1M+
だけど
>>123 のアドレスの方がリアルタイムで最新版をあげれますし・・・。
俺にもこんな頃があったかと思うとなんか涙出てきた。
129 :
108 :04/03/17 17:48 ID:MOTSqAfF
>>128 どういう意味で・・・?
>>127 どうも、今度からはそちらを使わせていただくことにします。
本家BBS荒れてるな〜。 プログラミング言語がどうとかこうとか・・。 おにたま降臨してやがる。
俺もその荒れてる原因の一つだ。 どうやら本家で垂れ餡の発言に対してキレたのがよくなかったっぽい。
ム板のコテどもは巣に帰れよ。 ここは割と平和にやってたんだからさ。
_________ /∴∵∴∵∴∵∴∵∴\ /∴∵∴∵∴∵∴∵∴∵∴\ /∴∵∴∵∴∵∴∵∴∵∴∵∴\ /∴∵∴∵∴∵∴∵∴∵∴∵∴∵ \ /∴∵∴∵∴∵∴/ ヽ / ヽ ∴∵∴| /∴∵∴∵∴∵∴ | ● | | ● | ∴∵∴| |∴∵∴∵∴∵∴ ヽ ノ ヽ ノ ∴∵∴| |∴∵∴∵∴/ / ̄ヽ \ ∴.| |∴∵∴∵/ ‐‐-- ヽ_/ --‐‐ \ | |∴∵∴ / ‐‐-- | --‐‐ | |∴∵∴/ ‐‐-- | --‐‐ | |∴∵∴| \ | / | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ |∵∴∵| \_____|__/ / < \∵ | \ / / | うるせー馬鹿! \ | \__/ / | \ / \_______ \________/
いつも行き当たりばったりに作り始めて挫折してしまう… ○| ̄|_
>>135 俺の場合は分不相応な大掛かりな物を企画してしまう・・。そして当然、挫折。
137 :
あみじ房 ◆HSP.RPGgiU :04/03/20 00:46 ID:D536Ag5J
保守しときますね。
保守なんかしなくても、この板は半年ぐらい 書き込みがなくても落ちないよ。
なんでこ〜まで初歩的なバグがでるかなぁ 寝不足スパイラルになるぜ〜〜〜っ たく、、、ちかりた
141 :
名前は開発中のものです。 :04/03/20 12:35 ID:uTeziZyo
>>139 興味深いな。
けど、俺クックブック持ってるんだよね。
同じような内容だったら、買わないし・・・。
>>141 >過去にテックウィンにおきまして連載された『HSPでゲームプログラミング』をまとめたものです。
その内容が分かんないんだって(='ω`)トホー どっかに書いてあったりする? 俺の目が節穴なだけか・・・?
>>143 ソースは別から持ってきたんで書いてない。
内容は見てないからわからない・・・
更新キター! ヘルプが使いやすくなったね
146 :
名前は開発中のものです。 :04/03/21 13:33 ID:Tg4KJ9F1
サンプル等でキャラの移動で4ドットずつ移動とあるけど あれって一瞬だけ押したら1ドット移動とか細かいドット移動するにはどうしたらいいの? グラディウスのやり込みプレイで有ったスピードアップMAXで障害物抜けしてるのは 一度に20ドットぐらい動いて(もはや瞬間移動)微移動なしってこと?
30や60FPSなら4ドット単位が適当だろうねぇ 一瞬だけ押したらってのは加速度を使うとかしてみたら? 障害物抜けするのは間を補完してないんだろうね 2Dシューティングなら補完はしないのが普通だろうねぇ
148 :
名前は開発中のものです。 :04/03/21 15:01 ID:fT+T/yYu
>>146 これは裏技だからだれにも言わないでほしいんだけど、
プログラムリストのなかで「4」って書いてあるぶぶんのうち一かしょを
「1」にかえると1ドットずつうごくようになることがあるそうだよ!
149 :
146 :04/03/21 16:19 ID:Tg4KJ9F1
>>147 加速にするとマリオみたいに最初の動作がもたつくんですよねぇ…
障害物の方は一応1ドットずつチェック入れるを移動ドット数分してから4ドット移動とかして補間してますが。
4ドット移動で抜けられる障害物って物凄く小さくない? というか別にそこまで気にしなくてもいいと思うが
60FPSで1フレームあたり4〜8ドット移動がシューティングとかで普通かと思うんだけど 最近の自機の当たり判定のやたら小さい弾避けゲーとかはどう判定してるんだろ? 敵の弾とかの当たり判定が貫通しそうな気がするけど。
弾が移動する前と移動したあとの間のドットに判定を入れればいいだけじゃないの? いや、俺もわからないけど。そんな感じかなと。
・自機のあたり判定が小さくても、弾のあたり判定はある程度の大きさがある ・高速弾のあたり判定は大抵ある程度大きい ・それでもすり抜けるのは気にしない(どうせ分からんさ) まぁ、マジレスするなら、高速弾は1フレームをさらに何等分かして、すり抜けない 程度の移動量にしてから、判定するのだ!
1フレーム=1単位移動に限る必要はなかろう。 最近のPCならCPUパワー余ってるから 1フレーム内に移動回数増やしても何ら問題はないよ。 でもゲーム的にはきっちり判定とらなきゃいけないケースは稀だな。 プレイヤーからみれば、すり抜け=ラッキー!だし。
線分の交差判定という方法もあるわけだが
あるにはあるけど、重いよ。
158 :
あみじ房 ◆HSP.RPGgiU :04/03/21 23:38 ID:8e3xTyPm
>>154 将来的には、コレがデフォになる予感・・・。
って2Dの話だけど。(いや3Dでもそうか?)
HSPFPVCS.DLLを使って小数の計算をやり始めたのですが、 数字だけの計算は出来るのに、変数を使うと出来ません。 なぜでしょうか?
おヴァカなスクリプトが目に浮かんだので何も言わない。
またこういう質問か…。 バカじゃないの?
>>162 おお!こんな企画進んでるのか。取り敢えず作者頑張れ
宣伝? なんでこのスレに?
165 :
邊巣堵九厘迎 :04/03/23 20:07 ID:M4uVW/62
title "ゲームばかり作ってないでたまには息抜きスクリプト" repeat 35565 await 5 randomize rnd x,1000 rnd x,1000 rnd y,700 mouse x,y stick hen if hen=128{end} loop
>>165 実行したら大変な事になったわボケェ!
あ、俺がアホなだけか…
>>165 rnd x,1000
rnd x,1000
ここは突っ込んでいいんだな?いいんだな?
>>166 はボケたフリをしつつ、素で実行したアフォ
実行してもちゃんと中断できるのは親切だな。 で、真似して穏やかなものに改変してみた。 title "マウスのボタンは押しちゃダメ! ESC で中断" x=mousex:y=mousey:dx=9:dy=9 repeat 10000 await 10 if (x < 0) or (x > dispx):dx = dx *-1 if (y < 0) or (y > dispy):dy = dy *-1 x = x + dx:y = y + dy mouse x,y stick hen if hen=128{end} loop
>>165 無駄は省け!PCに優しく!知らずに実行した人にも優しく!
randomize:onkey @f:repeat:rnd x,dispx:rnd y,dispy:mouse x,y:wait 1:loop:*@
>>169 無駄は省け!PCに優しく!知らずに実行した人にも優しく!あと正しく動作しないぞ!
w=10,-10:h=10,-10:onkey @f:repeat:x+w.a:y+h.b:if x<0{a=0}if x>dispx{a=1}if y<0{b=0}if y>dispy{b=1}:mouse x,y:wait 1:loop:*@
172 :
邊巣堵九厘迎 :04/03/23 21:32 ID:M4uVW/62
お
意外と反響あってびっくり。
>>167 つっこんでくれてありがとう。
なんか知らんけど、圧縮すればいいのか? onkey e:repeat:x-c/dispx&1*2-1:y-c/dispy&1*2-1:c+10:mouse x*10,y*10:wait 1:loop:*e
HSPでSLG+ADVみたいなのを作っていて、現在イベントパーサーを実装中です。 ファイルを読んでIF判定とかをしたいのですが、 変数の二次展開ができないので使用しそうな変数並べてゴリ押ししてます。 なんとか二次展開できないでしょうか。 if command = "if"{ if_flag = 1 noteget prm1, 1 if prm1 = "true" : true = 1 : false = 0 if prm1 = "false" : true = 0 : false = 1 noteget prm2, 2 noteget prm3, 3 : int prm3 if prm2 = "mynationno" : if mynationno = prm3 : bool = true : else : bool = false if prm2 = "answer" : if answer = prm3 : bool = true : else : bool = false }
176 :
175 :04/03/24 15:50 ID:Y04qh3TQ
こんな感じ パーサーループ{ 次の行読み込み ENDIFならIFフラグをFALSEへ IFフラグ判定 Trueなら続行 Falseならcontinue 諸々の処理 IF処理{ IFフラグをTRUEにする TRUEで実行なのかFALSEで実行なのか 比較処理 } }
質問いいでしょうか? HSPで作られたもっともすごいと思ったゲーム教えてください 僕が知っている中ですごいと思ったのは銀河獅子伝です
両方とも知らなかった。 シミュレーションは最近は全くやらなくなってしまったが 結構凝ってそうね。
エロじゃなくてすごいの希望
希望とかしてる暇に自分で作ったほうがはやいかもよ。
180は参考にしたいから聞いてるのか? 思い当たるならジャンルとか指定してみたら?
どんなジャンルでも、これはすごいといえるものだったらかまわない。 一応、SRPGがいいかな。 今つくっているのが、SRPGだから。 一応、個人的に良いと思ったもの。 STG: D-Force.2 脱衣がなかったとしても出来がよい。 RPG: 宝石物語 面倒になって途中でやめちゃったけど、雰囲気は好き。 ADV: 氷雨 かまいたちの夜が好きな人にはお勧め。
僕も今SRPG製作中です タクティクスオウガを模しただけのものですが 雷神すごいですね 次はこのくらい凄いのを作りたいな〜
HSPでクォータービューのSRPGは未開拓かとおもったら、 作っている人結構いるんだ。 まずい。。。俺もがんばらなくちゃ。
186 :
名前は開発中のものです。 :04/03/24 22:01 ID:8uscQsdS
俺はクォータービューのSTGを作っていますが、何か?
ぶっちゃけやりにくいだけで失敗の気がしたがw>クォーターSTG
188 :
186 :04/03/24 22:32 ID:8uscQsdS
気にしない気にしない(汗
TOが売れたのはストーリーの影響の方が大きいみたいです 僕は戦闘にもハマったので自分で作ろうと思ったんですがね ただスクリプト書くのと同じくらいキャラ画に時間かかるので面倒ですね 既存の素材あまり使えないので
クォーターSTGってザクソンみたいなやつ?
ビューポイントとかメルヘンメイズとか?
randomize repeat 100 H = cnt repeat 10 B = "(='ω`)" rnd A,1000000 rnd C,3 if C = 0 : M = ".tel" if C = 1 : M = ".ett" if C = 2 : M = ".jim" Name = "ahaha-haha"+H+cnt+M bsave Name,B,A loop loop
こうか。 randomize rnd C,3 if C = 0 : M = ".tel" if C = 1 : M = ".ett" if C = 2 : M = ".jim" repeat 100 H = cnt repeat 10 B = "(='ω`)" rnd A,1000000 Name = "ahaha-haha"+H+cnt+M bsave Name,B,A loop loop
何このゴミファイルメーカー
195 :
名前は開発中のものです。 :04/03/25 12:13 ID:uSL5lvI5
先生方、今HSPでゲームを勝手に操作するプログラムを組んでいるのですよ。 で、keventを使ったんだけどうまくいかないんです。 メモ帳だとか、普通のアプリで実験するとうまく行くんだけど。 ゲームだとDirectInput使ってるからなのかなぁ。 どうすればいいでしょうか。
用意するもの ・操作用ライブラリ等が用意されている96bit程度のPIOボード ・入力用キーボード ・キーボード操作用アクチュエータ(ソレノイド等)
197 :
195 :04/03/25 12:49 ID:uSL5lvI5
・・・・・ ちょっと笑った
ランダムな文字を表示するのにはどうすればいいんですか?
199 名前:名前は開発中のものです。[sage] 投稿日:04/03/25(木) 15:37 ID:I6jYBIlc if a=1 : mes "あ" if a=2 : mes "い"
200 名前:名前は開発中のものです。[sage] 投稿日:04/03/25(木) 16:09 ID:I9B67N9r
これでいいかい?
>>198 string = "abcdefghijklmnopqrstuvwxyz"
randomize
strlen len, string
rnd a,len
strmid ms, string, a, 1
mes ms
stop
201 名前:名前は開発中のものです。[sage] 投稿日:04/03/25(木) 16:18 ID:aOAi8u0R
>>198 randomize
repeat 8
str b
rnd a,25
a+65
poke b,,a
mes b
loop
stop
202 名前:名前は開発中のものです。[sage] 投稿日:04/03/25(木) 17:13 ID:f1JtKjqD
>>200-201 ありがとうございます!
203 名前:名前は開発中のものです。[sage] 投稿日:04/03/25(木) 17:53 ID:cTTwt+CI
昨日HSPダウソして今日半日かけていじってみました。
記念すべき初作品をおまいらプレイしてください。
exeファイルのみだけど圧縮してみました。
http://gamdev.org/up/img/371.lzh
204 名前:Age.P.Hukai ◆hsp/8n/.as [] 投稿日:04/03/25(木) 18:10 ID:tb/dX0Qe
>>203 昨日HSPを初めて、半日でこれはなかなか凄い。
205 名前:名前は開発中のものです。[sage] 投稿日:04/03/25(木) 18:45 ID:MSRMtXuO
>>204 藻前が凄くないだけ
206 名前: 名前は開発中のものです。 [sage] 投稿日: 04/03/25 20:05 ID:AThF4Jm2
「
>>205 の凄い作品を見せてください。」
と、返すのが礼儀か?
207 名前: 名前は開発中のものです。 [sage] 投稿日: 04/03/25 20:57 ID:+cJlDgxf 半日でこれが凄いかは置いといて自分のできる範囲でちゃんと完成させてるのは偉いと思うよ 俺は無理して凄いの作ろうとしてよく挫折してるからなあ 細かいこと言うとどれか押した後に他のボタンを押すと中途半端なまま次のに行っちゃうけど どれかを押すと入力は受け付けなくした方が良いかな
208 名前: 203 [sage] 投稿日: 04/03/25 21:58 ID:cTTwt+CI >204 マジスカ(;´Д`)
>207
内容はともかく完成させるのが目的だったのでそういってもらえると救われます。
>どれかを押すと入力は受け付けなくした方が良いかな
なるほど。以後気をつけます。
おまいらプレイしてくれてアリガdヽ(´ー`)ノ
またなんかできたら遊んでやってください
209 名前: 205 [sage] 投稿日: 04/03/26 01:27 ID:SgKzY7ec
>>206 http://gamdev.org/up/img/375.zip たいした出来じゃないけどな、別に破壊行動もしない
210 名前: 名前は開発中のものです。 [sage] 投稿日: 04/03/26 04:33 ID:1/VrsIIs
>>203 のほうが面白いな。
212 名前:Age.P.Hukai ◆hsp/8n/.as [sage] 投稿日:04/03/26(金) 14:30 ID:5V/4V39G アニメーションってこんなのでいいのか? sdim a,64,7 a.0="キタ━━━━(゚∀゚)━━━━ッ!!","キタ━━━( ゚∀)━━━ッ!!","キタ━━( ゚)━━ッ!!","キタ━( )━ッ!!" a.4="キタ━━( )━━ッ!!","キタ━━━(゚ )━━━ッ!!","キタ━━━━(∀゚ )━━━━ッ!!" screen 0,,,1 repeat await 33 redraw 1:redraw 0 color : boxf : t=cnt\7 repeat 48 x=cnt/16 : y=cnt\16 pos x*230+(t*3),y*30 : palcolor 255 mes a.t loop loop
せっかくなんで僕の初期作品5も見てください #define c mes #define d color #define f if #define s pos t=100:q=255:r=640:buffer 2:buffer 3:chgdisp 3:bgscr 1,r,480:gsel 3:cls 4:gsel 2:cls 4 s 0,0:d q,q,q:c " /■\\n (´∀`∩\n (つ 丿\n ( ヽノ\n し(_)":s t,0 c " __\n |\ _\\n \|__|\n (´∀`∩\n (つ 丿\n ( ヽノ\n し(_)" gsel 1:m=10:dim b,m,10:*ma:randomize:rnd u,m+120+(h*h*2):a=u:f (u>0)&(u<m){ f b.a.4=0{randomize:rnd henx,500:rnd heny,340:rnd w,2:rnd v,6:f v=0{v=2} else{v=1} b.a.0=henx+t:b.a.1=heny+t:b.a.2=0:b.a.3=0:b.a.4=v:b.a.5=w+1:b.a.6=0:b.a.7=0:b.a.8=1 b.a.9=t}}:redraw 0:gsel 3:d 0,0,0:boxf 0,0,r,480:gsel 1:d 0,0,0:boxf 0,0,r,480:a=1 repeat m-1:f b.a.4>0{x=b.a.0:y=b.a.1:gsel 3:d a+(t*((b.a.4)-1)) boxf x+9,y+15,x+b.a.2,y+b.a.3:gsel 1:s x,y:gmode 2:gcopy 2,(t*(b.a.4-1)),0,b.a.2,b.a.3 d 99:f b.a.5=1{line x+9,y+b.a.3,x+90,y+b.a.3}:f b.a.5=2{line x+b.a.2,y,x+b.a.2,y+t} f b.a.6>0{s x+80,y+10:d q,q,q:f b.a.6=1{c "ワショーイ"}:f b.a.6=2{c "ヒャコーイ"}}}:a++:loop:l++ f l>q{h++ : l=0}:s 0,0:d ,q:c " time "+l:c " level "+h:c " point "+i:c " 誤殺 "+n c " esc "+p:redraw 1:f h=11{s t,t:font "MS ゴシック",99:k=i-(n*3):d q:c "score "+k f k<50{c "ワショーイ(敗北)"}:f k>=50{c "ヒャコーイ(クリアー)"}:wait 200:end}:stick j:f j=256{gsel 3 pget mousex,mousey:f (rval>0)&(rval<t){b.rval.4=0 : i++}:f rval>t{o=rval-t : b.o.4=0 n++}:gsel 1}:a=1:repeat m-1:f b.a.5=1{f b.a.9>=0{b.a.9--}:f b.a.9<=0{b.a.2=90 f b.a.8=1{b.a.1-=1+(h/2):b.a.3+=1+(h/2):f b.a.3>=t{b.a.8=2:b.a.6=b.a.4}}:f b.a.8=2{ b.a.1+=1+(h/2):b.a.3-=1+(h/2):f b.a.3<=10{f b.a.4=1{p++}:b.a.4=0}}}}:f b.a.5=2{ f b.a.9>=0{b.a.9--}:f b.a.9<=0{b.a.3=110:f b.a.8=1{b.a.0-=1+(h/2):b.a.2+=1+(h/2) f b.a.2>=t{b.a.8=2:b.a.6=b.a.4}}:f b.a.8=2{b.a.0+=1+(h/2):b.a.2-=1+(h/2):f b.a.2<=10{ f b.a.4=1{p++}:b.a.4=0}}}}:a++:loop:await:goto *ma
214 名前:名前は開発中のものです。[sage] 投稿日:04/03/26(金) 15:39 ID:yXEw9jqK デスクトップのレイアウトが狂ったのは俺だけではあるまい…
215 :
Not_快 ◆hsp/8n/.as :04/03/29 13:46 ID:ANudaT6n
復活、age
鯖を間違えるなんて、おっちょこちょいもいいとこだと思うが
復旧したのでまあいいや。
>>215 最近よく目にするコテハン No.2。行動範囲がかぶっているのか…
なおった〜( ´_ゝ`)オメ
おお!書ける!書けるぞ!
今年もコンテストあるのかな?
220 :
名前は開発中のものです。 :04/03/31 10:41 ID:gmJ3qQPZ
コンテストに向けて誰か何か作ろうZE 俺?無理だし。
221 :
あみじ房 ◆HSP.RPGgiU :04/04/02 01:00 ID:BZVwbE+6
コンテストって、毎年いつごろ募集開始するんですか? 去年、知った時にはもう遅かったから・・・。
毎年っつーかまだコンテストは1回しかやってないよ。
223 :
名前は開発中のものです。 :04/04/02 17:40 ID:/wYhEmNw
本家で聞けば? 協賛とかついてたから一回のみかもしれないけど 本家BBSで盛り上がれば開催するだろ。
224 :
名前は開発中のものです。 :04/04/02 18:25 ID:bRxCPelM
今日はじめてHSPをダウンロードしました。 ずばり、プログラムに慣れるにはどうしたらいいでしょうか?
225 :
名前は開発中のものです。 :04/04/02 18:27 ID:Kvrw07s+
簡単なものからプログラムを書く 書けばその内慣れてくる
自分がやりたいことに似たアプリのソースを読みまくる
いいソースをみる。 そして、それを改良(アレンジ)する。
一番最初からソースを見てアレンジするだなんて教えるなよ。 絶対無理だから。
そのままパクっちゃうやつ多いからなw 時間かかっても、最初はゼロから自分で考えたほうがいいな。
つくりたいものを作る
>>230 「作りたいもの」じゃなくて
「作れそうなものから」だろ。
最初から大規模なアクションゲーム作るとか無理に決まってんだろうに。
去年のコンテストは盛況だったんで、今年もあるんじゃないの?
コンテストと言えば、大賞のRPGよく出来てるな、感心した パッと見ツクールぽイ画面に萎えたが、とりあえず戦闘モードに入ったらハマッタ でも 初クエストで森の中走り回ってたらMobがわんさか出てきて 倒しては戻りを繰り返してたら、レベルは上がるは、装備は良くなるは な〜んか、ファーストボス簡単に倒してしまいそうな悪寒、、、
234 :
名前は開発中のものです。 :04/04/03 08:09 ID:cgFGxzrA
>>225-
>>231 ありがとうございます〜。とりあえず簡単なものを作れるように
頑張ります!
それ既出だろ
>>236 内容的には、他のHSP本が手元にあるなら必要ない
ただ、
版が大きい・薄いので読みやすい
サンプル作品に使用されている画像がキレイ
なので初学者・挫折者には良いかも
>>237 一応、
>>139 ,141,142,143,144 は読んだけど、内容が気になったので。
>>238 情報あんがと、サンプルが面白いなら買おうかな。
ふう…RPGもどきを作ってるんだけど、 バトルシステムだけ(しかも完成度40%くらい)で そろそろ800行を越えようとしているんだが、 普通そんなもん?(規模の大小は置いといて) 何かとてつもなく無駄なやり方が多い気がするよ…。 例えばFF5あたりのバトルをHSPで記述したとしたら 何行くらいになるのかなぁ?なんて思うわけだよ。 FFが嫌いな人はDQを例にしてもいいけどさw
>>240 ぶっちゃけありえない。
単純計算で2000行ってことでしょ?
質問です。 久しぶりにHSPをインストールしなおして、サンプルプログラムを実行しようとしたのですが、 F5を押しても、メニューから選択をしても動きません。 exeファイルを作成すると、それは動作します。 なにか勘違いしているのか、それとも問題が発生しているのかが判断できません。 どうすると(exeファイル作成以外で)動作させられるのでしょうか?
>>240 俺が作ってるRPGなんて
多分、戦闘部分だけでも3000行超えてる。
攻撃の種類を増やしたらまだまだ伸びそう。
まあ、描画関係が多いんだけどね。
>>242 ファイル壊れてない?
てか久々に本家カキコしたぜ。
>>241 そりゃ多過ぎってこと?少なすぎってこと?
まぁ動けばいいんだけど、書いてて「無駄してるな…」と
思うと、かなり心配にならない?
ならないですかソウデスカ
246 :
名前は開発中のものです。 :04/04/05 16:58 ID:HSdAqBgU
>>245 俺は無駄していると思った事なんて一度もありませんが、何か?
"の文字列をif文で判定したいのですが、 どう記述したら良いのでしょうか?
248 :
名前は開発中のものです。 :04/04/05 17:31 ID:hZrB9WZg
\"
ver2.61βを落としてやり直したら、とりあえず動いたので それで良しとします。 (exeはなにも問題なかったんだけどなあ。さすがに修正のたびにexe作成はしんどかったけど。)
行の中から、一文字だけ取り出す方法に悩む日々。 peek 命令でよいはず・・・なのだが、 例えば「0123」という行から「0」を取り出すはずが、「48」になってしまいます。 なぜ、文字コードに?
>>251 0123は文字なんだろ?
だったら文字コードで問題ない。
'0','1','2','3'って入ってるわけだから。
質問させてください。 ver 2.5のベータあたりで前から日曜大工(プログラム)してて、 そこそこ形になったので、ver2.6に変更してテストしようとしたら、 aviやmpeg動画を表示させたりすると、画面描写の移行時に一瞬白いちらつきが出るようになってしまいました。 いろいろ過去の更新履歴調べて、ver2.55の時に再描写(screen)に関する定義が 変わったらしい?とわかったけど 自前スクリプトのclsやmode関係調べてもさっぱり・・・ ver2.5ベータ7までなら正常に動きます。 このまま古いバージョンでパックでexeしても無問題でしょうか? (llmodプラグイン利用してるので標準実装のver2.6にしたかった程度の理由、 追加命令の利用は特に必要なし) みなさんは自分の過去の作品をわざわざ最新バージョン互換にしたりしないですよね?
>>251 a="0123"
strmid b,a,0,1
>>251 a="0123"
peek b,a,0
b -= '0'
でもおけ
詳しく知りたければ、docs\hsp2str.htm をみれ
257 :
255 :04/04/07 12:43 ID:4i64SwPP
ほんとだ… orz
>>255 は数字を文字列の中から取る時、文字列型変数を経由させて int するのが
めんどい時の方法って事で…
そういえば、2byte文字は考えなくていいのかしらん
>>253 exe にしちゃえば問題なかったはずよん
>253 いや、すぐに新バージョン向けに修正するかな。未完成の物の場合。 過去の物でも再度エグゼ化する時は新バージョン向けに修正。 (過去バージョンの開発環境は割とすぐに削除するんで、、) あと、標準の動画再生はバージョン問わず難があるので、 llmod使っているんなら、APIで再生して取り込んだ方がいい。
あ、
そうだ。
>>252-257 文字列からの数値の取り出し方について、返答をありがとうございました。
これでレーティング表が使える・・・・ハズ。
くだらない質問かもしれませんが教えてください おながいします 重なった円や不定形の物体をアイコンをマウスでクリックすると正確に判別するのってどうするんでしょ? 漏れの考えた方法 1.あたり判定を複数つくる ↓ 2.円や不定形のアイコンに合わせてあたり判定配置 なんか頭悪い方法な気がするのですが こんな感じでいいんでしょうか?(・ω・)
>>263 不定形なら色で区分された当たり判定用のレイヤー作って、
レイヤーからマウス位置の色取得。
265 :
名前は開発中のものです。 :04/04/12 03:15 ID:0UhCSCdD
これって画像を複数同時に読み込んで表示させることってできないの? アニメーションやろうと思ったら、 全部一枚画で読み込んで、そこから背景画と動画を切り貼りしていく… みたいなことしなけりゃならないんですか?
267 :
名前は開発中のものです。 :04/04/13 17:27 ID:m5Jew2tj
>>265 出来るけど切り貼りの方が単純に楽じゃないか?
268 :
265 :04/04/14 05:11 ID:kplCfWcS
スマソ。どうやら問題は画像がちゃんと表示できてないところにあるらしいっす。 なんだか思いっきり斜めに傾いた画像になってたり、 色がきちんと表示できてなかったり、 なんじゃこりゃ!??と。
>>268 パレットとフルカラーが混同してるとか
4の倍数でない画像を使ってるとか(これは違うかも)
完全な初心者にでもわかりやすい解説はないもんですかね?
>>270 やる気。
やる気のない奴はわかりやすい解説見たって無駄。
さらに言うとわかりやすいというのは個々の感情なので
お前のわかりやすいが「わからない」。
>>270 最近は初心者向けの本いくつかあるよ ぐぐってちょ
273 :
265 :04/04/15 15:43 ID:4Fbd1oqh
>>269 どうやら4の倍数でなかったことが原因のようでした。
4の倍数にしたらうまく表示されました。
それにしても、なぜ4の倍数じゃないとちゃんと表示されないのか…?
仕様
275 :
265 :04/04/15 16:37 ID:4Fbd1oqh
もう一つ質問。外部デバイスには対応してますか? ジョイスティックで動かしたいので。 getkeyを見るとマウスとキーボードにしか対応してないように見えるのですが。
昨日から初めてかなーりしょぼいのが2つできたんですが うpしてもいいですか?
4の倍数制限ってver2.6あたりで解決したんじゃなかったか? うちでは全然問題なく表示できてるけど。
もし277がいいなら俺も出してみる 30分で作った、微妙なベーシック言語の知識を生かして作ったごみっぽいもの一つ
個人的に、形として残すとか作りきるってのは大事だと思うんで どんどんうpしてください。
32bitビットマップ対応マダー? (チンチン 24bitってMMXと相性が悪くて(´・ω・`)ショボーン
>24bitってMMXと相性が悪くて 工夫不足
283 :
265 :04/04/16 00:58 ID:Oj14knCj
mid形式のファイルをループ再生するにはどうすればいいんでしょうか?
>>284 sndloadで無限ループ指定すればいいだけのことでは?
ループポイントへのループってことならGuruguruSMFを使えばできるかも。
質問なんですが、エラー(256)って一体なんなんでしょう? マニュアルには書いてないっぽいんですけど…。
HSPでどんなゲームでも作れるんですか? 上のほうの(´_ゝ`)フーン っていうシューティングは背景とか黒色じゃん? もっと本格的なものはできるんですか?
>>288 やる気があれば。
あとは能力も多少は。
290 :
名前は開発中のものです。 :04/04/17 22:50 ID:wTtWDkSz
>>288 ツクールとかと違う物だから。
他のアプリは知らんが、ゲームなら技術さえあれば、
たいていのものは作れる。
>>288 HSPは、スーパーファミコンぐらいのゲームだったら実現する力はありそう。
問題は製作者にそれだけの技術があるかどうか・・・。
HSPでどこまでできるんですか、みたいな質問ってしょっちゅう来て ループするよな。 うざいからテンプレにリンクでも入れるか?w
>288 平たく言えば、HSPはC言語を使ったウィンドウズプログラムを簡単に 実現するためのツール。 母体がC言語なんで、母体がC言語でない言語に多少のアドバンテージもある。 簡単にしたしわ寄せで、いろいろと制限はあるけど、 何とかすれば何とかなる。特にゲームなら大抵の物は努力次第でできるはず。
>>294 思いっきりBASICベースなんだが‥‥
296 :
名前は開発中のものです。 :04/04/18 00:33 ID:T03oPHcu
スーファミのゲームくらいならほとんどクローン?作れる まぁ実際には細かいとこ時間かかるし画像も結構いるから 単純なのばっか作るけど
>295 仕様や文法のことを言ってるんじゃないよ、 テコ入れすれば、VCライブラリとして扱うことも可能だと言ってるの。 拡張部分が本体のようになってしまっても それはそれでありだと個人的には思っているってことだ。 ここの住人のレベルや他言語知識の程度がわからんから、そう言いきることは できないけどね。 下手なコト書くと語弊を招くんで、もう余計なアドバイスはしないことにしたよ。
俺はHSP以外使えないし知識もないな。 …あ、あとN88-BASIC。
スプライトを反転させるにはどうすればいいですか? es_flagじゃ上手くいかないんですが。
>>296 本物そっくりに再現する事をシミュレーター。
本物を違う環境で動かすことをエミュレーター。
やる気になればPSぐらいもできる。
人手があれば・・・
大体FF5でも3メガしかないからね、容量。 MP3一曲分にも満たない・・・
>>301 それでも当時はメチャメチャ熱中したからなあ。今の容量ギガバイトクラスのゲームより
あの当時の「少ない容量でより楽しく!」を目指した作品の方が職人技っつー感じがするなあ。個人的には。
>>302 任天堂の策略で容量で値段決まってたからな当時。
今はCD,DVDだから制作費とかで値段決まるけど。
ゲームって、本体の中に必要そうなプログラム(計算など)が入ってるのでは? スクリプトと、MIDIみたいなのが入ってると思えば、意外と軽いと思うけど。
まーSFCのころでも容量のほとんどは音と画像だからな。
>>304 入ってない。それどころかろくに拡大縮小回転などもできなかった。
だから、専用チップつかうソフトもあったし。
音源もFM音源だし。
初めてPS見たときは感動したなぁ。(リッジレーサー)
それまでは256色だったから。
それが65536色になったしフルポリゴンだった。
当時はPCでも今みたいに3Dゲームはほとんどなかったし
あってもグラフィックボード専用。
DirectXすらない。
一昔前はPCはゲームのために進化してたみたいなもんだし。
>一昔前はPCはゲームのために進化してたみたいなもんだし。 今もそうじゃないか…?
もっと進化してほすぃ(・∀・)
>>307 今は映像編集などのマルチメディアが主だろ。
まあ、グラボは別として。
310 :
名前は開発中のものです。 :04/04/19 20:17 ID:ovksh9H4
hsp-dev MLに参加している人に教えて欲しいんだけど、 HSP to C コンバーターって今どうなっているの? 製作が進行しているのか気になります。
>>309 マルチメディア用としては
とっくに十分なスペックになってると思うが。
>>311 映像編集などってつけてるだろ。
今の時代はHDDレコーダーとかあるいは家庭内のサーバー的な使われ方をし始めてる。
それは、あなたの時代のマルチメディア用としては十分すぎるほどでしょうけど。
313 :
名前は開発中のものです。 :04/04/19 21:36 ID:Hxeu/MYy
バグが取れない バグを取ろうとしてソースをいじっていたら ソースがボロボロになってきた。 鬱だ。
>>313 >バグを取ろうとしてソースをいじっていたら
その前にバグの原因箇所は突き止めたか?
今もパソコンはゲームのために進化している。(
>>307 )
いや、グラフィックボード以外はマルチメディア向きに進化している。(
>>309 )
いや、マルチメディア向きにはこれ以上進化する必要性を感じない。(
>>311 )
マルチメディアでもグラフィックボードは使っている。
現在のパソコンは家庭内のサーバ的な役割を担っている。
現状が
>>311 に満足できるものだとしても、自分は満足していない。(
>>312 )
こういう議論はけっこうだと思うけど何故HSPスレで?
>>313 そういうときはその部分だけ0から作り直す。
あと、2時間ぐらい考えても無理なときは素直にやめた方がいい。
朝7時ぐらいまで昔はざらだったなぁ・・・
それでもできないんだけど起きてもう一度見直したら簡単だったって事もあるし。
まあ、そうやって成長してくんだよ。
318 :
313 :04/04/19 22:42 ID:Hxeu/MYy
>>314 ,317
ありがとう。何とかなった。
ソースの一部を前の段階の時の物に直して、
それで何とかなった。
いわゆるリセットってヤツで。
_______ |リセットボタン|  ̄ ̄ ̄ ̄ ̄ ̄ ̄
__________ |人生のリセットボタン|  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
・・・・・ (゜_゜) ι | л | | | ̄ ̄ ̄|  ̄ ̄ ̄
,、ァ ,、 '";ィ' ________ /::::::/l:l 押してさしあげましょうかニャア? ─- 、::::;;;;;;;;;`゙゙''‐ 、 __,,,,......,,,,_/:::::::::/: !| . : : : : : : `゙'ヽ、:::゙ヾ´::::::::::::::::::::::`゙゙゙'''‐'、. l| 、、 . : : : : : : : : r'":::::::::::::::::::::::::,r':ぃ::::ヽ::::::::ヽ! ,、- 、 .ヽ:゙ヽ; : : : : : :ノ:::::::::::::::::::::;;、-、、゙::: rー-:'、 / }¬、 . \::゙、: : : :./::::::::::::::;、-''":::::::::: ,...,:::,::., :::':、 _,,/,, ,、.,/ } ヽ:ヽ、 /::::::::::::::::::::::::: _ `゙''‐''" __,,',,,,___ /~ ヾ::::ツ,、-/ `ヽ、:::::::::;;;、、--‐‐'''''',,iニ- _| 、-l、,},,  ̄""'''¬-, ' ''‐-、 .,ノ'゙,i';;;;ツ _,,,、-‐l'''"´:::::::' ,、-'" ,.X,_,,、-v'"''゙''yr-ヽ / ゙゙'ヽ、, ,.' j゙,,, ´ 7 ,、-''" .l:::::::::::;、-''" ,.-' ゙、""ヾ'r-;;:l 冫、 ヽ、 / __,,.ノ:::::ヽ. / l;、-'゙: ,/ ゞ=‐'"~゙゙') ./. \ / '''"/::::;:::;r-''‐ヽ ,、‐゙ ヽ:::::..,.r'゙ ,,. ,r/ ./ ヽ. ,' '、ノ''" ノ ,、‐'゙ ン;"::::::. "´ '゙ ´ / ゙、 ,' / ' //::::::::: {. V / / ./::::::::::::: ', / / . / /:::::::::::::::::. ',. / ,.、 /
ペンギンの足は長い。
325 :
名前は開発中のものです。 :04/04/23 03:09 ID:EvBbIZAD
例えば4つの選択肢(A・B・C・D)があるとします。 CかDの片方を選ぶと、もう片方は選べない(AとBはまだ選べる)ということがしたいのですが、 IF分の羅列でないやり方は、どのようなプログラムになるのでしょうか。 2進数表記と&を用いるとできそうな気がするのですが、具体的な組み方が思いつきません。
そのぐらいIF文でやれよ
>>325 ABが選択可能、もしくはCDが選択可能な状態のいづれかを示す
という条件ならON/OFFの1bitフラグでいい
フラグをセットするときにON/OFFするのは簡単
そうじゃなくてもしABCD独立して状態を持ちたいなら4bit必要
0000〜1111の状態を持つとしてたとえばBフラグが立っている場合
0100 Bフラグが立っている
↓
(0100 and 1100) 論理積をとりAとBの値を取り出す(CとDは値に関わらず0になる)
↓
(0100 and 1100) > 0 もしそれが0より大きければAかBのフラグが立っている
CDの場合は0011と論理積をとる
ちなみに10進数だと
1100→12
0011→3
なので
(flag and 12) > 0 でA、Bフラグ
(flag and 3) > 0 でC、Dフラグをチェックできる
>>325 こんなのにこだわってるとHSPのよさを発揮できないよ
簡単に済ませられるとこは適当に処理、これ基本
329 :
デフォルトの名無しさん :04/04/23 13:22 ID:s9dEVFWk
>325 Cを選択した状態、Dを選択した状態のほかに 何も選択しない状態があるのでしょうか。 もしCかDどちらかが常に選択されるのなら 1か0、BOOLの変数が使えると思います。 調べるときはTRUEかFALSEです。
>>330 そうかぁ、そんなのに時間かけてたら
グラフィックや演出がおろそかにならないかい?
昨日よりHSPを使い始めた者ですが、HSPでは関数を自作する事はできないのでしょうか?
333 :
名前は開発中のものです。 :04/04/23 16:20 ID:TRXmzHDw
#module
>>333 おかげさまで解決しました。どうもです。でも #module ってコマンドリファレンスに載ってないんですねえ。
と思ったら命令索引のほうに載っていた_| ̄|○
最近HSP知ったんだけど、 今タイ版ポトリスができるので簡単にあてれるようになるツール作りたいんだけど 作れますかね?
338 :
名前は開発中のものです。 :04/04/23 21:42 ID:YL2dNOGG
○○作れますか?って質問多いね。 世間的にHSPはツクール系だと思われているのかな?
339 :
名前は開発中のものです。 :04/04/23 22:20 ID:TRXmzHDw
だめはやつは何をやってもだめ
VBと一緒で迫害の対象であるのは確か
HSPでだめになった奴は知ってる
HSPって楽しいな。
Hハイ Sスピード Pペッティング
思春期の方ですか?
H はい S そうです P ぴょろしくおねがいします
>>327 ありがとうございます。なんとなく理解しかけてきた気がします。
stickなんですが、3パラに1を立ててもウインドゥアクティブチェックがONになりません。 このような症例についてご存知の方はいらっしゃらないでしょうか?
オブジェクトを使用してるとアクティブになっちゃうことがある インプットとかメッセージボックスとか 一度、非アクティブにすれば防げるはず 使ってなかればわからん
hspdxで、es_kill命令が上手く働かない気がするんですけど、バグ? 当たり判定するときに情報が残る気がするんだけど…。 es_killの変わりに、es_posでエリア外に出して消去する方法に したら上手くいったけど。
351 :
名前は開発中のものです。 :04/04/25 13:29 ID:2Nfu4CTP
てめーのバグだ
然り
まったりしようよ! button命令のフォントで日本語が文字化けするのですが、フォントは変えられないのでしょうか? やっぱり直した方が早いのですか?
355 :
名前は開発中のものです。 :04/04/25 18:02 ID:i9xECcQP
質問です。 今、ZGPで2Dゲームを作っていて、画面にぼかし等のエフェクトをかけようと思い 一旦メインウィンドウにオフスクリーンバッファをコピーしたいのですが やはりOPENGLモードにしてコピーするしか無いのでしょうか? 他のところで支障が出てくるので、DXモードで動作させたいのですが・・・
>>354 objmode p1,p2 [フォント設定モード]
~~~~~~~~~~~~
>>351-353 なんでなのか考えられる原因を
教えてくれくれ
どうせ答えられないくーせにー(^^
358 :
名前は開発中のものです。 :04/04/25 19:32 ID:hH68JRxd
>>357 ム板逝ってください。
ここはそんな所ではありません。
ムキー(`д´)ツマンネ!
>>357 es_killしてもデータは残ってる。
es_getしてみれ。
それとes_apos使うとなぜか再登録される。
どうでもいいけど、うまくいく方法が見つかったんなら、それでええやん。
テキストの容量がオーバーしてしまったようなんですが、 引き続き作るにはどうすればいいですか?
モヂュール化
OSをW2KかXPにする
thx!
他のテキストエディタを使う。
テキストオーバーって、何作ってるの? 凄いね
バッファがあふれたなら、大きくバッファ確保しれ・・・・。
>>361 最新版ならかなり容量大きいけど、古いバージョンとか使ってない?
質問ですんぽ! 体力ゲージを体力の最大値に関わらず一定の長さにするのって、 どういうプログラムなんですかんぽ? んぽは脳内削除してください。
>>369 length*NowHP/MaxHP
lengthが長さ
NowHPが現在の体力
MaxHPが最大の体力
>>370 ありがとうございます。多謝。
怪しい語尾つけたので誰も答えてくれないんじゃないかとびくびくしてました。
意外と分かりやすい上に割りと単純ですね。
こういうところにプログラムの真髄を見るような気がします。
誤爆ですか?
>>373 いや、そこまでのもの作れるとは思えないけど
ゲームが社会に与える影響もあるって事をね。
HSPで社会に影響あるゲーム作ったら俺はそいつを「神」と呼ぼう。
言語に何使うかはあんま関係ない気が…
普段はやる気があればできるって言うが、 社会に影響あるゲームだとアイデアもいるしなぁ・・・ こればっかりはやる気でもどうにでもならない可能性もある。
校門圧死とかスペシャル天安門もそういう範疇なのか?
379 :
名前は開発中のものです。 :04/04/27 23:45 ID:uFg2T28H
ゲームかなんか作ろうと思うから
>>380 がお題を決めてください
ジャンプする主人公
>>380 ジャンピングフラッシュってあったな。
あれのことか。
いあ、なんか言葉から連想できれば良いかなと思ってさw
>>382 そうは思ったんだけど、まさしくなゲームを思い出したんで。
久々にやりたいな、作って誰か。というか
>>379 か。
では379どのヨロシクw
ふと思ったんですが、プロジェクト管理とかするエディターとかって需要あるんでしょうかね。 皆さん開発にどういうツール使ってます?
自作
書くのは今はもう更新停止したHeditExってやつで。 実行する時は、2.6だと上手く実行されないので 純正のやつでわざわざ読みこんで実行させてる。 なんというか、HSP用のエディタで命令ごとに文字色を 色分けできるやつってだけで使ってるね。 なんかいいやつねーかな。フリーで。
>>385 ないだろ。
プロジェクトといってもHSPじゃ多くても2,3だし。
389 :
名前は開発中のものです。 :04/04/28 16:11 ID:ocuDU/1d
さくら氏が作成したエディタ、あれ結構良い。
流れと関係ないですが、HSPで音楽を再生する時にやたら時間がかかります・・・。 sndloadでは問題ないですが、sndで鳴らすときに2〜6秒位ストップします。 半年ほど前に買ったWindowsXPで、性能は悪くないはずです。
midi?
うん、Midiは時間掛かるね
midiをうまく鳴らす方法ってないのかな? ループも指定できないし
MCI直は?
やっぱそれか
396 :
名前は開発中のものです。 :04/04/28 22:39 ID:ocuDU/1d
HMM.DLLとかGuruGuruSMF.hpi使ってみたらどう?
397 :
379 :04/04/28 22:52 ID:V45buIza
お題は「ジャンプする主人公 」に決定しました
398 :
あみじ房 ◆HSP.RPGgiU :04/04/28 23:09 ID:dAV8/RLy
>>385 MKEditor for Windowsってのが最強!
俺は敵の動きとか、個別にファイルで分けてるから
これがないともう無理って状態。
>>396 GuruGuruSMF.hpi最高!
CC#111の入っている場所へのループ機能がアツい。
しかも軽いよ。
399 :
あみじ房 ◆HSP.RPGgiU :04/04/28 23:15 ID:dAV8/RLy
>>385 あ。そういう環境を作ろうかなー?ってことですね。
文字の色とか、HSPに特化していて、
直接コンパイルできて、ヘルプの使い勝手がよくて
MKEditor並のプロジェクト機能と操作性があれば
1000円ぐらいで買う。
400 :
名前は開発中のものです。 :04/04/28 23:32 ID:n/++98hs
ツールなんてなくていいじゃん そういうのに拘る時期ってあるけどさ
MKEditor for Windowsいいね
402 :
379 :04/04/29 01:53 ID:VxsonlZC
403 :
379 :04/04/29 01:55 ID:VxsonlZC
追加 リトライ直後にキャラが挙動不審なのは気にしないで下さい
>>402 面白い。
インターネットランキング付いてるし。
全部埋めちゃうぞw
405 :
名前は開発中のものです。 :04/04/29 10:45 ID:u0TGmtCH
HSP、DLしてみました。。 アドベンチャーゲームでも作ってみようかなぁ。。と、思っているのですが・・・。。 メッセージはどうやったら、表示できるんですか?あと、画像を出すのも。。
pos と mes と buffer と picload と gmode と gcopy を組み合わせる Ebから出てる入門書買うほうが早いね
組み合わせるって・・・・・・。。 [pos] [mes] [buffer] [picload] [gmode] [gcopy] メッセージ みたいなカンジにやるんでしょうか??
409 :
名前は開発中のものです。 :04/04/29 12:49 ID:u0TGmtCH
マニュアル読んでみたんだけど、あんまりワカンネ。。 メッセージの場合は、一体、どういう感じに組み合わせばいいんですか??
教えて厨UZEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
いや、煽りじゃなくて普通にyuuki!novelとか使った方がいいと思うよ
ちょいと本格的にやってみたいので・・・・・・。。 HSPで。。
>>410 ,413
マニュアル嫁!
マニュアルもろくに理解せず「あんまりワカンネ」とは何事だ?
そういやHSPセンターにもお前みたいなのが居たなあ。
>>410 教えても良いが、お前が将来まともにプログラムできるようになる可能性は少なくなる。それでもいいなら教
えてやるぞ。本当に良いんだな?それぐらい自分でやろうとしない馬鹿にプログラムは無理だ。止めておけ。
ていうか、人に聞く前に自分でプログラムしようとしろ、マジでうざい。HSPが初心者向けの言語だからってな
厨房が使いこなせるとは限らんのだぞ。お前みたいな馬鹿のせいで、HSPが糞言語って言われてるって言
うことを分かれ。糞なのはHSP自体ではなくお前みたいな馬鹿なのに、HSPが糞だと言われているだぞ。な
ぜ、お前みたいなクズのために、ネイティブコードを吐けなくとも便利な、HSPを馬鹿にされるのだ。例えて言
えば、お前は説明書を見ないでサポートセンターに質問するな馬鹿だな。HSPを使ってHSPにバグ多すぎだ
!とかほざき出すんじゃないだろうな。プログラムが悪いというのに、馬鹿はHSPのせいにしたがる。
要するに、本を買うか、独学で勉強するか、諦めるか。この三択だ。
>>413 まずは↓をコピペして実行してみろ。
話はそれからだ。
repeat
screen ,,,,x,y
rnd r,255
rnd g,255
rnd b,255
color r,g,b
boxf
rnd x,dispx-640
rnd y,dispy-480
loop
HSPが糞といわれることの1つに速度や規模の問題(ry
418 :
名前は開発中のものです。 :04/04/29 13:52 ID:vhA4ZC08
>>419 ディスプレイの解像度を変えたり
マウスカーソルも移動させたりしてないだけ優しいだろ?
>>421 awaitも入ってないから実行させたら落ちるんじゃないか?
98ならな。 今時2000、XP、2003じゃない奴は・・・ さらに俺はHTだから50%までしかいかないし。
>>417 マジレスすると
速度は問題ではない。ネイティブではないから重い処理はできないが
プラグインでカバーできる。
さらに、時が解決してくれる。2,3世代前のPCでも十分だし。
規模も何をさして言ってるるかはわからないが、そもそも目的が目的だから。
適材適所って言葉をしってますか?
>>423 落ちないなw
Hyper-Threading Technologyの便利さ?を体感。
>>425 そうだよね。速くするためだけじゃなくCPU使い切りアプリ対策にもなる。
俺の環境だと、416のソースを実行しても30%ぐらいしか行かんし、 Alt+F4で普通に閉じる。 ちなみにPen4だが、HT対応ではない。 screenでウィンドウメッセージの処理してるんじゃないか?
screenがボトルネックか・・・ といっても普通はループさせないから問題ないけど。
429 :
427 :04/04/29 14:54 ID:lb+KlaXr
screenだけではなく、widthでも凍らないことを確認。
>>402 が予想外に面白かったので、ちょっと嬉しい。
思わずハイスコアを出してしまった… → (´∀`;)
よーし、パパも↓のお題でゲーム作っちゃうぞー
「磁石と立方体」
パズル系かな? 立方体だからクォータービューか3Dだな。
単純なゲームでも結構はまるんだよね。 さすがに売れはしないけど・・・ ゲームパックとかならともかく。
信者殊死だな。 まぁ、アフォに逝っても仕方ないことだろうけどさ。
殊死って確か、死を覚悟して戦うことだっけ。 なかなか珍しい語彙を使うね。
磁石と立方体と来たか アチャー(ノ∀`) インスピレーションで作ってみようかな…… というか、パズルしか思いうかばねぇよ!
モジュールで使用した変数の値を 元のソースに返すにはどうすればいいですか?
変数名@モジュール名
・・・・。。 現在、マニュアルのステップの所で、現在、勉強中。。 それから、頑張って作成する。。
マニュアルを読んでも、わからない事があります・・・。。 アドベンチャーゲームとかのメッセージ枠とか、画像の上にメッセージを出せる命令はないんでしょうか?
>>440 lineとposで一応出来るんじゃないか?
お前はほんとにマニュアル読んだのか、と
マニュアルを読むだけでなく、 付属のサンプルスクリプトも一通り実行して、 中身にも目を通しておけ。
てゆっか、いくらアドバイスしても意味ない人間ってのを感覚的に見極めろよ 放置しる
>440 命令ってより画像を描画してから文字を上書きしたらいいだけじゃないか? >444 確かにこんな初歩の段階で聞いてる時点でかなり向いてないと思うけどそのうち凄腕プログラマーに………無理か
この手合いってもしかして 一発でゲームを作る命令とかがあると思ってるんじゃないか? create_RPG , 総プレイ時間 , 仲間の数 , ・・・ みたいな(w
448 :
あみじ房 ◆HSP.RPGgiU :04/04/30 02:16 ID:1DJzF5ij
>>447 俺もそれ思った。
それこそ
>>444 の要素の一つですねw
「ドラクエの作り方教えてください」
と同レベル。
しかし、放置すると粘着ったり「HSPは使えねぇ〜」と 暴れまくったりする可能性があるのが困り者
すごいバカだなコイツ。
最近のRPGってターン制少ないのか? FFだけかと思ってたよ。
ほとんど3Dだからなぁ。 ターン制じゃいかし切れないんだろ。 RPGのなかで戦闘はテイルズが好きだな。
そうなのか。最後にやったRPGってSFCのFF6だしなあ。 なんか友人が企画の一つとしてRPGあげてんだけど 検証のために最近のRPGやらなアカンのかなあw
こいつ馬鹿だなって、いわれてる所から、自分はすでに画像の上に文字かくのは 出来ています。。次は、lineの使い方を勉強しなきゃ。。
日記は自分のサイトでお願いします
HSPでやるならFF6ぐらいでしょ。 日記って言うか独り言だよな・・・
lineなんてつかわない。
461 :
名前は開発中のものです。 :04/04/30 17:58 ID:bdfa5ZTx
>>461 ADVゲームにlineは使わないってことじゃないの?
質問。 セーブデータとか保存する時に変数を保存しときたいんですけど どうやって外部に移すんですか?
bsave 関連やね、strmid やら使うからちとメンドイけど、サンプルがあったような
fopen "ファイル名",No fclose No fwrite 変数,"KeyName" fread 変数,"KeyName" っていうプラグインを計画してるんだけど、需要あるかな?
>>466 INIファイル読み書きの改造で済むような気もする。
でも作れば需要はあるかもね
でもプラグイン使ってやるほどの事でもないな
計画には簡易的な暗号化とかもあるんだけど
>>468 の意見もあって実行に踏み切れないんだよね。
なんでもかんでもプラグインってのは賛同しかねる。
公開すると いろいろと要望が来たり厨から質問が来たりするかもしれないから その覚悟はしておいたほうがいいだす
簡易的なHTMLパーサー書いてる時にふと思ったんだよね。 その構造利用すれば「キー」使ってデータ保存できないかなって。 で、今またそのパーサーを書き直す必要が出てきたから聞いてみた。 だから構想自体は2年ぐらい前からあった・・・
>>470 HSPという共通のスクリプトを利用できる別個のアプリケーションだと
考えたほうがすっきりしない?
HSPのほうがプラグインだったんだよ!
何か今メールチェックしたら俺の作ったソフト雑誌に掲載したいとかメール来てる・・。 収録したら雑誌送らせてもらうから住所とか教えてくれって。希望したらと書いてあるけど。 こういう場合、どうしたらいいんだろう。一応よく知ってる会社名だけど送付は希望しない方がいいかな。 個人情報聞き出す詐欺って可能性もあるしな・・。初体験なんで慣れた人アドバイスキボンヌ。
>>474 1, ソフトをその雑誌に掲載してほしいかどうか
2, その雑誌を送ってほしいかどうか
はどうなんですか
>>474 その企業が大きい企業なら別に良いと思う。
教えるときはドメイン確認しる。
>>474 別にいいんちゃう
俺は住所聞いてこない場合でも「サンプル送ってください」って言って、
住所教えてるけど。
478 :
474 :04/05/01 11:30 ID:WBkHcxwJ
>>475 本心としては載せてもらいたいです。載せてもらったらやはり自分の目で確認したいです。
>>476 確認してみます。
>>477 今回が初めてだからどこの雑誌も送る旨伝えてくるかと思っていましたが雑誌によって違うんですね。
アドベンチャーゲームにlineはつかわないということは・・・・・・。。 どうやったら、メッセージ枠が作れるんですか?
481 :
boxf :04/05/01 13:20 ID:IS+8Iiy/
じゃねーの?
>>474 何回もやってるけど特に気にしてない。
実際外注も多いし。
一回やると同じ雑誌から来やすくなる。
スプライトが必ず番号順に手前のほうに表示されていく仕様ってHSPだけ? キャラが重なったら手前のキャラが前に表示されるようにするには その度にスプライト番号を入れ替えるという作業をしなきゃならない?
HSPだけってことはないが 入れ替える作業は必要だな。
どっちが手前か、どうやって判断すると・・・ 3DならZ軸あるけど。
STGで地上と空の敵を分けるってぐらいなら0〜50を空 51〜100を地上の敵専用に振っとけばいいけど 細かく分けたいなら入れ替えるしかないな
俺も485の部分で悩んだ。 ファイナルファイト系のゲームで 奥の敵が手前の敵よりも前に表示されてちゃおかしいからね。 ソート使ってスプライト置き換えるのがめんどくさい。 Y座標の大きい順にスプライト表示するという プラグイン誰か作ってくれないかなー。
作者に頼んだ方がいいだろうな。 0からはつらいだろ。
>>489 漏れはその都度順番が隣合う二つのスプライトのy座標を比較して置き換える…
という方式にしたけど、
普通に歩いて入れ替わるだけなら上手くいくけど、
なんかアクションしてるところを通り過ぎるとバグってしまう…。
__ _|_B | | A | | ←立ち位置奥 |__| ̄ ←立ち位置手前 スプライト番号はA<B これでAがBより奥に移動すると _._ | A_|_ ←立ち位置奥 |_| B | ←立ち位置手前 |__| としたいわけだが、スプライト番号がそのままだと _._ | A |_ |__|B | |__| となってしまう。Aがジャンプした、という設定なら構わないんだけどね。
ファイナルファイトっぽい表示で ジャンプしたりするなら y軸は2系統必要だぞ?
494 :
名前は開発中のものです。 :04/05/02 00:37 ID:BXZlqDhG
>>402 ランキング登録のとき
アドレスとポートには何を入れればいいんですか?
個人的にHSP超使いやすくて好きなのだが、 巨大プログラム作るのはキツいよね。 今まで見た中では、にゃんこボールが一番ねっちり作ってあったが、 あれより懲りたいって時は、みんなやっぱC言語行くのかね?
いい年こいてHSPなんか使うなよ
じゃあ、何歳までならいいんだ。 何歳から何歳まで何を使えばいいのか。 そして、お前は何歳で何を使ってるんだ。 そのまえにお前は何物だ? というか何様だ? 何の権限があって何でそんなこと言うんだ?
9回
ホットスーププロセッサーマンセー♥
荒らすことでしか自分の存在を示せない無能を相手にするなよ。 無能がうつるぞ。
502 :
名前は開発中のものです。 :04/05/02 22:06 ID:Q+/7CRBJ
いつからオンクリックなんて便利なのがあったんだ?
かなり前からあるぞ
>>504 そうでしたか、
なにしろマニアルがテックウイン連載のスープちゃんしかないもので、、、
そういえばテックウインが季間になるんだって。 出版業界は今はつらいよな。
実際に作ろうとしている訳ではないですが、 Die SlaveとかRADIO ZONDEみたいに3Dエフェクト命な 2DSTGをHSPで作るとしたらプラグインは何ですかね? なんとなく気になったんで。 「つーかCやれ」 以外希望。
つーかC++やれ ほら、希望通りか?
じゃあDelphiだなw
自作
同一画面に同じ形のキャラを色違いで複数並べて表示したいのですが、 元の形は同じ物を使い回して、 色だけを切り替えるようにしたいんですが、 どうすればいいですか?みな同じ色になってしまう…。 その都度RGBを指定する形でもいいし、 パレットコードを置き換える形でもいいんですが。
>>513 パレットの一部をカラーバリエーション用に確保してビットマップをそのパレットNoに直接書き換える。
ただし、プラグイン書かないとまともな速度は出ない。
もっとも、その色が不定でない限り色の数だけ事前に画像データを用意するのが普通。
>>514 とりあえず色パターンの数だけ画像を読み込むことにしました。
そこからなんですが、範囲を指定して特定色のみ置き換えるにはどうすればいいでしょう?
矩形塗りつぶしで、一つ一つ置き換えるということをしなければなりませんか?
>>515 BMSCR.pBitにDIBへのポインタが入ってるからそれを使え。
ただし、実用にならない速度になると思うが。
それでも1ピクセル単位でpsetやboxfよりマシな速度ではあるが。
//Cでパレット12をパレット128で塗りつぶす例
func(BMSCR *bm, int, int, int)
{
if (bm->palmode != 1) return 0;
BYTE *p;
for(int y=0; y<bm->sy; y++)
{
p = bm->pBit + (bm->sy - 1 - y ) * bm->sx;
for(int x=0; x<bm->sx; x++)
{
if (*p == 12)
{
*p = 128;
}
p++;
}
}
return 0;
}
実行時に別の色のキャラを生成したいなら、 コピー先のバッファを置き換え後の色で塗りつぶして、 置き換えたい色を抜き色にしてコピーすれば、 一応、色の置き換えできると思う。 でも、はじめから画像ファイルに複数の色のキャラ用意したほうがいいとおもうよ。 パレットカラーのバッファからフルカラーのバッファに、 抜き色つかってコピーできれば、キャラ画像ひとつで、 複数の色のキャラをゲーム中に表示できるけど、それはできない・・・。
518 :
513 :04/05/04 19:19 ID:hY9kx+29
レスありがとうございます。
結局
>>517 さんの方法を採用しました。
無理してパレットモードのままでやろうとしたのがかえって難解になったようです。
ところで、es_bufferの透明色指定って、RGBの順番が逆になってるのは仕様ですか?
先生ー。メタセコで吐き出せるモデリングデータと相性のいいプラグインは 次のうちどれですか? 1 ZGP 2 Hgimg 3 Eazy3D 4 Forsythia3D
2は論外。
2Dスプライト系ゲーム作るなら、どのプラグインがいいの?
>>521 すまんすまん。前スレは嘘ね。(ZGP含む)
HSPDXじゃ不満なの?
前レスでした。
525 :
名前は開発中のものです。 :04/05/05 06:25 ID:AP+XEGvy
>524 HSPDXはウィンドウモードで凄く遅い時があるのが。(ハードウェア構成による) あと一番困るのは、スプライトの展開。 大きさまちまちの大量のスプライトを扱うにはちょっと向いてない。 仮想VRAMが1024枚ぐらい使えるとか、 普通に配列にグラフィックデータ持てるとか、 そーゆー事ができるといいのだけど。だめ?
>>525 どうでもいいが仮想VRAMはメモリ単位だからxMB。
枚は仮想スクリーンだろ。
528 :
名前は開発中のものです。 :04/05/05 16:10 ID:kWTR1Ijx
なぜここに
530 :
名前は開発中のものです。 :04/05/05 17:24 ID:kWTR1Ijx
閉鎖しますた
531 :
名前は開発中のものです。 :04/05/05 17:36 ID:IqQpqyWJ
>528 さんは新しい言語を見つけてやる気まんまんなんでしょう。 暖かく見守りたい。なんならゲ製版にもラムダ用の スレッドを立ててはどうでしょか。 本家頁を拝見しましたが、サークルの作品が前面にあり 言語が置いてあるとはちょっとわかりません。HSPとは逆の感じ。 しかしサポートBBSもあり、情報のやりとりが行われている模様。 ちょっとBBSをのぞいたところ、構造体が無いらしいなどHSPと あまり変わらない感じ。プラグインが豊富な分HSPやや有利と 見ますがどうでしょう。 HSP製シューティングGrunicalやったら落ちた。HSPゲームが落ちるの めずらしいです。その前にさんざんいろいろな作業をやったせいも あるのでしょうが。HSPには残りメモリが少ないとかVRAMが 確保できなかったなどのエラーを調べる方法ありますか? んでもGrunicalって100メガヘルツ台のパソコンでも動いていた ような記憶が…処理、なかなか高速ですね。ゲームは描画が最大に 処理時間を食うので、その部分がプラグイン化されているなら、 速度的にはCで組むのと大して変わらないかも。 なんとなく使ってないんだけど食わず嫌いだろうか。
>530 ていうか見てる端から閉鎖… ちょっと残念。
2年も前からスレがたっているうえに、100もレスがない。
つまりその程度のものか、あるいは厨房が寄ってこないような 「環境を整えるまで少し努力が必要」なもののどちらか、ということか。
いつ見てもしょーもないスレだな
537 :
↑は :04/05/09 02:41 ID:LvRKAtVV
いつも見てるしょーもないカスだな
2日かけて言うことか?
寂れたな
俺、HSP用の素材を六角大王で作ってた事あったが・・まさかNEKOviewerの作者がwinnyの作者だったとは・・。
47氏は無罪になるだろ
しかし我々は・・・。
543 :
名前は開発中のものです。 :04/05/10 21:00 ID:qRFGgTGi
またか・・宣伝ウゼー
クソスレの宣伝なんてされてもな
PNGが使えるのはいいね、Jpgでは透明色指定の黒がはみ出る
ぴゅう太?
548 :
名前は開発中のものです。 :04/05/10 22:28 ID:c1/LEP5m
Ruby>>Java>>C#>>C++>>Delphi>>VB>>HSP>>>>>ひまわり>>TTS>>豆乳
日本語プログラミングは食わず嫌いされがちだが、ひまわりは割と面白いと思います。 漏れはHSPと同じくらいのレベルに(遊べるおもちゃ程度に)捉えてます。 確かにアクが強い感じで好き嫌いは分かれるけど。 ところでなぜ548はアクション特化の豆乳を他言語と同列で比較してるんだ?
うぜえよサブカルメガネ
サブカルメガネとは一体
>>546 HspにはMAGがあるさ!
バリバリフルカラーゲーム用じゃなかったらこれで十分だとおもわれ。。。
鮪って保存するのがめんどくさいくない?
手元に鮪保存できる「商用」アプリがあるが‥‥
MAGってDOS時代だよな。 Winの時代の物じゃない。
ひまわりは一回インストしたけど、デスクトップを右クリックで出る「新規作成」に 勝手に項目を作り、アンインスト時消していかなかったので、好きじゃない。 そして消し方がわからず今も残っていて、見るたびに思い出す…。
>>556 あらら、そりゃウザイね、とりあえずは「窓の手」
559 :
556 :04/05/12 12:29 ID:Z4axcPf6
>557 綺麗に消えたよ、サンクス!
スロゲー作りたくてHSP始めたのは良いが画像の動かし方がワカラン・・・・_| ̄|○
スロゲーとは何ぞや?
>>560 どんなんか知らんが初歩の初歩だろ。
gcopyでずらしていけばいいだけ。
redrawしないとちらつく。
なんか適当なサンプルだって転がってるだろ。
563 :
名前は開発中のものです。 :04/05/14 04:20 ID:ef/sw/01
質問なのだが、 HSPDXで、DirectXを使っている場合、 es_screen 640,480,16,0 ってやったら、フルカラーモードなわけですよねぇ? なんか、パレットモードになってる気がするのだけど。 うーん。
>>563 16ってHighColorじゃないの?
フルカラーって32bitだよな?
いずれにせよパレットモードって事はないと思うけど。
画像表示は最初につまずいたなぁ、
実行中の他のプログラム(プロセス?)を強制終了って 何かのプラグインで出来る?
>>567 好きなのを選べ
・TerminateProcessを使う。
・WM_CLOSEをSendMessageで送る。
・DestroyWindowを使う。
下の2つは、ウィンドウを閉じるように伝えるだけだが。
WIN32APIなので標準命令(llmod.asで簡素化可)だけで使えるぞ。
HSP用の外部エディタでお薦めなのはなんですか?
>>562 サンクス。
サンプル探してソース見てみます・・・
571 :
567 :04/05/14 18:06 ID:FVa84SpL
>>568 この場合はPostMessageのが適切なような‥‥
なんか無性にゲームが作りたくなった 手ごろそうなHSPでがんばってみる
ガンガレ
えーと、HSPDXって、スプライトとその他の命令を同時に使うと ややこしくならない? フォントサイズが変わっちゃったり、 es_boxfが色かわっちゃったり。 これ何のせい?
同時に使うなよ
スロゲー=スローイングゲー 投球ゲーム
>576 >フォントサイズが変わっちゃったり、 どっかでfont命令使って、効果が持続しているだけだろ。 またfont命令使えやゴルァ。 >es_boxfが色かわっちゃったり。 どっかでcolor命令使って、効果が持続しているだけだろ。 またcolor命令使えやドルァ。
576ですが どうも、es_screenと、screen 0の区別云々というか、 gsel 0で実行したかどうかとか、 フォントサイズとか、色とかって、 screenバッファ依存なの? >どっかでcolor命令使って、効果が持続しているだけだろ。 これとか、es_boxfの直前で指定した色が変化しちゃうんだよなぁ。
582 :
560 :04/05/16 12:52 ID:6Uwff7Gu
スロゲーってスロットかよっ!
>>582 2,3のifの<が変
if <reelni=-36 : reelni=756
を
if reelni<=-36 : reelni=756
if <reelsan=-36 : reelsan=756
を
if reelsan<=-36 : reelsan=756
585 :
560 :04/05/16 13:13 ID:6Uwff7Gu
>>584 おお、、どうもです!
早速手直ししてみたら動きました!
>>585 は演算子がわかってないのかな・・・
A = B AはB
A > B AがBより大きい(BがAより小さい)
A < B AがBより小さい(BがAより大きい)
A >= B AがBより大きい、もしくは等しい
A <= B AがBより小さい、もしくは等しい
>=っていうのは≧と同じだぞ。<=は≦。
あー、もしかしてわかってて間違えた?
587 :
560 :04/05/16 14:35 ID:6Uwff7Gu
>>586 いやぁ、第1リールの部分をコピペしたつもりなんですけど何で変わったのかはわかってなかったりします。。
>>586 演算子がわかってないと言うより位置が変なだけだと。
あと一つ言わせてくれ。 動作確認のため4回やったが2回そろった。 そろいすぎ・・・
590 :
586 :04/05/16 16:44 ID:vKYcxaUG
>>589 ソース見たところ短いソースを3回続けているだけだったので、画像の配置の問題ではないかと思われ。
もっとも、HSPユーザじゃないので命令自体はよくわかりませんが。
(やってることはわかりますた。)
やる気がモリモリ沸いてくる瞬間ってあるよね?
ってかやる気がないとプログラムなんて書けん。 デバッグなんて逝ったらもう・・・
button命令で日本語が文字化けするのですが、 buttonのフォントを変える命令なんてないですよね?
>>595 本家は見てないよ。ごめんよごめんよごめごめにょ
>>596 ありがとう、身長3cmの肩。
button命令の直前にfont命令でフォントを変えるという手は?
599 :
名前は開発中のものです。 :04/05/16 22:03 ID:zBWwgd0L
BGMのループ再生って、みんなはどうやって実現してるの? 前は、 mci "open BGM.mid alias myid":sndload "",100,1:snd 100 ってやってたんだけど、最近試したらうごかねぇ。なんで?
↓突っ込みは任せた
│ _、_ │ ヽ( ,_ノ`)ノ 残念 私のおいなりさんではないようだ │ へノ / │ ω ノ │ > │ │ ↓
通常のループからButtonで飛び出してもエラーは出ないけど 描画ループからButtonで抜けるとシステムエラーが出るね 例の「送信しますか」ってやつ。これビビルな、
何の描画ループ・・・
>>591 あるね。気がついたら夜が明けてたことがあった
>>587 ()が無い限り、演算の順番が何故かすべて左からなんですよ。
だから
if <reelsan=-36 も if <(reelsan=-36)
とすればOK。
カコワルイし遅くなるけど。
あんりゃ。すんません。
ウンコみたいなレスしてしまいました。>606
>>591 あるある。
いやむしろそんな日ぐらいしかまともに進まない。
608 :
名前は開発中のものです。 :04/05/17 04:09 ID:5DbPX+gX
>602 超センキュー!
609 :
603 :04/05/17 12:22 ID:Vx3dwKiM
redraw 0 で背景描画のとき
まず説明能力をつけたほうがいい。
まいいや あっはは
>>603 ソースを見直せ。それが無理なら一部晒せ。
613 :
名前は開発中のものです。 :04/05/17 20:21 ID:tuOAl1Zo
HSPってC言語でいう構造体にあたるものはないの?
ない
615 :
613 :04/05/17 22:05 ID:tuOAl1Zo
>>614 調べてみたけどみつからなかった
hmm.dllっていうDirectXの機能使えるライブラリに付いてたサンプルに
「bullet.id.pos_x」って箇所があったからそれに近いものはあると思うんですが・・・
617 :
613 :04/05/17 22:22 ID:tuOAl1Zo
もう少しだけ付き合ってください ということは bulletっていう多次元配列があり、id や pos_x ってのは インデックスになってる と、こういうわけですか そうだとすると、先入観ってのはやっかいなモノですね
そういうわけです。
x乗とかy乗とか求める演算子てないんですか?
>>620 マニュアル読めよ。
なきゃない。
repeat〜loopでできるし。
622 :
560 :04/05/18 02:05 ID:w1IpYgvw
bufferを変数に置き換えることって可能ですか? 例えば、 buffer2=a a=1 とか・・・・
>>620 どうしてもDLLに頼りたいなら
「HSPmath.hpi」が最強ですよ。
コレの命令ばっか使ってます。
>>622 すんません。よく意味が分かりません。
その例えも含めて。('A`;)ヾ
まず buffer2=a ですが、これはbuffer2という変数にaの中身を代入しているだけでは・・。
そしてa=1はaが1になって終わり。。。
いま描画先になってるbufferの番号を取得したいという質問でしょうか?
それならせめてa=buffer2といった風な例えが必要では?
直接そのような命令が無いにしても、何とかなりませんかね。
例えば変数aの中身によって定義するbufferを選び、aを保持してれば
いいのではないでしょうか??
一発で目的を果たしてくれる命令なんてぼぼ無きに等しいです。
質問に答えられなくてすみませんが、もっと根本的な部分で躓いてるようなので・・・w
625 :
560 :04/05/18 02:46 ID:2MEmgZ+w
うーん。何て言うか、その、 buffer 2を1と定義したいんですよ。 普通にbuffer 2=1でいいのかな・・・
よく意図がわからんけど常に使うラベルを用意して、 if a!0:buffer a:a=0 とするとか?
>>560 に必要なのは発想の転換だろうな…。
「こう書きたい」じゃなく「どんな工夫をすれば実現できるか」を
考えられるようにガンバレ。
あと、
>>610 が書いてるように説明能力な。
関係ないだろ
>>629 なくはないだろ。
コソーリ画像とか音楽とかパクってたら。
ゲーム会社のソフト紹介とかで使う分には構わないだろうけど。
ツクールとかで作られてるクローンに激しく嫌悪感覚えるの俺だけ?
HSPは忽然とシステム変数なるものが登場し、 しかもそれらしい名前がついていないから この変数はいったい???って状態に陥る
まあ、システム関係は@とかで名前空間して欲しいね。
>>628 「無断でゲーム画面を使用してた」から
逮捕なのかと思ったら、
「だれもがダウンロードできる状態にしていました」って・・・。
なんかこのニュースのタイトル、誤解を生じさせるよな。
>>635 それと、制作中のゲームの画像が問題だったらしい。
普通に紹介ぐらいじゃ、無視だろ。
悪くても警告ぐらい。
>628 このサイト知らなかったモグリです。 チョット過去の情報あさってみたんですが、 ある会社の合併話の経緯とか、興味深いです。 画像無しのニュースサイトとして復活してほしいです。 問題の無い部分に関しては、誰か有志で引継も可能でしょうね。
ちょっと聞きたいんだけど *a pos 20,20:button "1",*b pos 20,50:button "2",*c stop *b goto *a *c cls stop これで1のボタンを30回くらい押すと 2のボタンが消えるのはなぜ?
>>638 1画面内のボタン最大数 64個
マニュアル読めよ…
コンテスト今年もやるらしいぞ。今年こそ最終選考位まで残れる物作るぞ!!
>まだ未定ですが開催できるよう調整していきたいと考えています。 未定って書いてある。 スポンサー次第かな。
一枚の画像ファイルに色々な絵を書いておいて、 それをそれぞれ一つの絵として動かすようにしたいのですが、どんな感じで書けばいいですかね・・・
同じ大きさで描いていき、 横+(画像の横幅 × N)、 でコピーしていく。
大きさが可変なら配列変数に座標と大きさを代入して使う。
>>642 俺は賞品無しでもやって欲しいなぁ・・・
俺にとっては賞品より宣伝効果のほうが大きいんだけどね。 つーか別に賞品はいらない。
なんだなんだ マサくん祭りの始まりか?
確かに。デジカメもらってもねえ。。ってかんじ。
650 :
名前は開発中のものです。 :04/05/20 16:32 ID:Sze5uQ3A
まいどお初です。 いまSTG作ってるんですが、表示したキャラクターのアニメーションを gcopy 2,ani*50+50,580,50,50 ;aniは変数1〜3 って感じで表示してたんですが、動きが速すぎたので入門書見ながら もうちょっと遅くしようとして await や wait を使ったら そのキャラが表示されているときゲーム自体も遅くなってしまいました。 何か良い方法ありますか?
repeat if cnt\10 = 0{ ; 10回に1度処理する ; 遅くしたい処理 } ; 遅くしたくない処理 await 5 loop
652 :
名前は開発中のものです。 :04/05/20 17:27 ID:Sze5uQ3A
多謝! さっそくやってみまつ
家庭用ゲーム機のソフトって プログラム言語でつくられているんですよね?_ なんて言語ですか?
なぜここで聞くんだ?
厨房だから
普通はC、場合によってはアセ。 今はミドルウェアが主流だから 書く量も少なくはなってきている。
HSPを勉強したいんだけどお勧めの本ってあります? ちなみにプログラミング経験はN88-BASICをちょこっと勉強したくらい
HSPだけはやめておけ
>>659 N88…俺と同じだw。
でも俺はHSP付属ドキュメントだけでゲームとか作ったので
本はわかんないスマソ。昔のBASICでもかじってればそのままいけるよ多分。
HSPは勉強するものでなく楽しむものです。 本とか読まなくても「自分のPCでこんな事が出来る様にしたい。」という趣味的情熱があれば自然に使える様になっていきます。 別にコンピューター関係の仕事とかに就くつもりがなければ充分これで楽しめます。
俺仕事はグラフィッカーだしな〜w
stick命令で、&で特定のキーを判別できますよね? その逆で、stickで特定のキーを押していないことを判断するにはどうすればいいのでしょうか? if a&32 : else : ほにゃらら これよりも効率のいい方法があれば教えてください。
これが最高ですか。 なんか回りくどい気がして、if命令の中で直接できる式がないかと思ったんです。 にしても、普段は一見過疎気味なのに、 質問があると即答してくれるここは割りとROMな人が多い板ですね。 僕もですが。
667 :
名前は開発中のものです。 :04/05/21 18:15 ID:jeBk4Dd6
if a&32=0 : ほにゃらら じゃダメ?
>>666 他の言語でもそれが普通だと思われます。
現に自分はそれでやっているので。
でもstick自体getkeyより遅いしなぁ・・・。 #define settimer ll_callfunc void, 0, hProc: ll_ret sttimer #define gettimer ll_callfunc void, 0, hProc: ll_ret timer: timer -= sttimer #const SAMPLE 10000000 ll_libload hDll, "kernel32" ll_getproc hProc, "GetTickCount", hDll mes ""+SAMPLE+"回" settimer repeat SAMPLE: stick key, 0, 0: loop gettimer mes "stick: "+timer+"ms" settimer repeat SAMPLE: getkey key, 13: loop gettimer mes "getkey: "+timer+"ms" stop
やっとスープちゃんの本4章まで読み終わった・・・。
OSに、パッドを繋がなくても「パッドがある」と認識させたいんですが、 HSPで可能ですか?操作できなくてもいいので・・・
>>661 N88-BASICの頃は質問ばっかりしながら数当てゲームを改良してRPG風にしてました。
ちょうど去年の夏のことですw
確かに、HSPで去年と同じゲームを作れそうな気がします。
>>660 >>662 そうですか・・・
将来その手の職につくかはわかりませんが、今は楽しむことを考えてプログラミングしてみたいと思います。
#defineって、命令を変数化するって考えて良いんですかねぇ
>>675 全然違う。
#defineは置き換えだ。
普通は数字を文字にしたりするのに使う。 プログラム中に「20」とか出てきてもそれが何を意味してるかわからないから。 また、最大値みたいに多数の場所で同じ値を使うときなども楽に変更できる。
>>676 サンクス。。
んで、本題なんだけど、
#define baf buffer
baf 2
baf 3
baf 4
こういう書き方って出来るのかなぁ。。
#define A mes "ABCDEFG" A stop はコンパイル時に mes "ABCDEFG" stop になる
>>674 N88を触ってた世代なのにまだ将来とか言える年齢なのか?
ああ、そうか。 bufferじゃなくてIDを置き換えればいいんだ。 #define id 2 repeat 3 buffer id id=id+1 loop
せめて実行してから書き込みたまえよ
>>681 それだと実行時に
2=2+1になる。
単純な「文字の置き換え」なんだって。
実行前に行われる。
repeat 3, 2 buffer cnt loop で良いんじゃないのか?
>>683 orz・・・・
>>684 いやぁ、、これを配列に利用したいんですよ・・・
複数の絵を順次に表示させるプログラムを作りたいんです。。
>>685 配列の番号を格納する変数を用意すればいいんでないかい?
#defineってのはただ単純に置き換えるだけ。
どちらかといえば可読性や拡張性を上げるためにつかわれている。
スレ違いでスマンがちょっと言わせてくれ
>>680 おいおい、N88は学校施設ではまだ現役のところもあるらしいぜ
あとオヤヂのお下がりで使ってるとかな
ま、人それぞれってこった
688 :
659 :04/05/22 08:41 ID:UoLTjU62
>>680 技術の教科書にソースが載ってて興味を持ったわけです。
つーわけでまだ若いよ。
>>680 ActiveBasicでN88は現役。
知らんかった
ifの中でifを使いたい場合ってどう書けばいいんでしょか?
a = 0 b = 0 if a = 1{ if b = 1{ mes "TRUE and TRUE" } else { mes "TRUE and FALSE" } } else { if b = 1{ mes "FALSE and TRUE" } else { mes "FALSE and FALSE" } } stop
>>691 if (条件式) {
if (条件式) {
}
}
695 :
659 :04/05/22 19:52 ID:UoLTjU62
質問です。 ボタンをクリックするとa+1するようにしたいのですがどうすればよいでしょうか?
button "bbb",*b stop *b a++ title "a="+a stop
697 :
659 :04/05/22 20:53 ID:UoLTjU62
>>696 そうではなくボタンクリックで直接+1するようにしたいのですが・・・
頭悪いこと言ってないで、自分でボタン作りなさい
700 :
659 :04/05/22 20:56 ID:UoLTjU62
>>698 button "bbb",a+1
こんな風にしたいんですが、実際はできないようなので、どうにかなりませんか?
702 :
659 :04/05/22 21:00 ID:UoLTjU62
意味不明
Ver2.61RC2が出とる
牡丹と薔薇は〜♪どちらが幸せ〜♪
706 :
名前は開発中のものです。 :04/05/22 23:42 ID:kPBNgTxY
ちょっと質問なんですが、公開されてるリージョン画像作りだすプラグイン使って パラパラアニメの要領で次々に画像切り替えてはリージョン画像作りだすソフト作ったんですが これを動かした時にHSPを起動させてスクリプトを書く黒い画面を表示させてると画像の端に白いフチが出来る。 壁紙を真っ黒な奴にしても出ないのに何故かHSPの画面をバックにすると出るんですよ。 HSPの画面ってただの真っ黒い画面に見えるけど何かやってる?常に更新し続けてるとか?
HSPって if(a=1) { mes"test" } こういう書式で書けないのか・・・ ifの条件式の直後に{書くの好きじゃないんだよな・・・
でも僕もbuttonからラベルジャンプじゃなくて直接命令が出来たらいいと思うことはある。 多分なんか問題があるんだろうけど。
コールバックなんてそんなもんでしょ
710 :
659 :04/05/23 13:07 ID:EhKKz116
aの数値が1だったらグー aの数値が2だったらチョキ aの数値が3だったらパー と表示したい場合、どうすれば良いのですか?
if a=1 *gu if a=2 *tyoki if a=3 *pa stop *gu ぐーを表示 stop *tyoki ちょきを表示 stop *pa ぱーを表示 stop
712 :
659 :04/05/23 13:24 ID:EhKKz116
ありがとです
659は結局自分では何も考えずに このスレの住人に全部作ってもらうつもりか? BASICかじってたなら、変数と if文くらい使えそうなもんだが
>>710 グー・チョキ・パーを横にならべた画像を用意
x座標を幅の変数倍ずらしてコピー
配列をうまく使うとifを使わない短いソースで書ける
#ただし可読性は落ちる
>>711 でOKの問題だったら、HSPに入ってる初心者のためのHSP入門読めば分かるじゃねぇか。
小学生だな?
俺も小学生の頃は"が打てなくて入門さえ断念した記憶がある。中学に入る頃は打てるようになったが。
716 :
659 :04/05/23 18:24 ID:EhKKz116
mes "じゃんけんゲーム" *Selection himself=0:enemy=0 mes "何をだすか選んでください。" pos 0,80 button "グー",*g pos 70,80 button "チョキ",*c pos 140,80 button "パー",*p stop *g cls himself+1 goto *enemy2 stop *c cls himself+2 goto *enemy2 stop
717 :
659 :04/05/23 18:26 ID:EhKKz116
*p
cls
himself+3
goto *enemy2
stop
*enemy2
gettime enemy,7
enemy=enemy/400+1
if himself=1:mes "あなたはグーを出しました。"
if himself=2:mes "あなたはチョキを出しました。"
if himself=3:mes "あなたはパーを出しました。"
if enemy=1:mes "敵はグーを出しました。"
if enemy=2:mes "敵はチョキを出しました。"
if enemy=3:mes "敵はパーを出しました。"
if himself = enemy :mes "あいこです。"
goto*Selection
stop
ここまで作ったんですが、条件式だけだと"勝ち"と"負け"までは決められなそうなんで
>>714 さんの書き込みを参考に作り直してみます。
>>715 OKじゃないし厨房ですが、書く文章が小学生並みなので「そういう事を聞いてんじゃない!」
なんて書くとまた怒られたりしそうなんで
俺は小学校時代は頭がよかったんだなあ。
if himself = enemy :mes "あいこです。" if (himself=1)and(enemy=2):mes "あなたの勝ちです。" if (himself=1)and(enemy=3):mes "あなたの負けです。" if (himself=2)and(enemy=1):mes "あなたの負けです。" if (himself=2)and(enemy=3):mes "あなたの勝ちです。" if (himself=3)and(enemy=1):mes "あなたの勝ちです。" if (himself=3)and(enemy=2):mes "あなたの負けです。"
sdim result, 7, 3: result = "あいこ", "負け", "勝ち" sdim hand, 7, 3 : hand = "グー ", "チョキ", "パー " mes "あなた 相手" repeat 9 a = cnt / 3 ; 0:グー 1:チョキ 2:パー b = cnt \ 3 ; 同上 c = a-b+3\3 ; 差から結果を求める mes hand.a+" vs "+hand.b+" → "+result.c loop stop
723 :
659 :04/05/23 20:53 ID:EhKKz116
>>720 条件式を増やすこともできるんですね。
とても参考になります。ありがとうございました。
>>721 凄い・・・と思うんですが、僕にはうまく理解できませんでした。
短くするとなるとやっぱり内容が難しくなるんですね・・すいません。
>>722 ・・・・・・・・
いや、面白かったよ。普通にw
前スレで課題出されたときに作った奴でも張ってみるか。 screen ,64,72 randomize button "グー",*judg button "チョキ",*judg button "パー",*judg sdim hand, 7, 3 hand = "グー","チョキ","パー" *re rnd ene,3 stop *judg if(stat-ene==0) {message="あいこ": goto *@f} if((stat-ene==-1) || (stat-ene==2)) {message="勝ち": goto *@f} if((stat-ene==-2) || (stat-ene==1)) {message="負け": goto *@f} *@ dialog "自分:"+hand.stat+"\n相手:"+hand.ene+"\n"+message+"です",0,"結果" goto *re stop
>>722 じゃんけんというか
3パターンの・・・
726 :
名前は開発中のものです。 :04/05/24 14:51 ID:x+eeLccx
ま た ひ ま わ り か 。
本家ヒドすぎ。あんまオニタマに迷惑かけんなよ。
さて、あなたに本家からここへ誘導する勇気はありますか?
「格闘ゲームの作り方を教えてください」とかおにたまに メール出す奴いるんだろうな…。
>>732 だろうな。
それに加えウィルスメールやジャンクメールも来るんだから、凄い量なんだろうな。
ただでさえ忙しいのに、それで5日レスなかったくらいで騒ぐのもちょっとあれだと俺は思う。
>>732-733 おにたま氏も会社を設立してバイトでも雇わないといけないレベルになったりしてな。
でも無料だから無理なんだよな。おにたま氏も大変だな・・・。
おにたまタンも、気に入らなければ使わなくて結構、くらいも言ってやればいいのにな。 義務とかほざいてる勘違い小僧はいったい何様だ。
HSPのことを否定するつもりもないし、立派な言語だと思うけど、HSPが厨言語と言われる由縁がわかった気がした。 HSP使ってる人、がんばれ。馬鹿に負けるな。おにたま氏もがんばれ。 HSPユーザじゃないけどできることがあったら手伝うよ。
HSP糞
お前ら、ここはゲーム製作板ですよ?
739 :
名前は開発中のものです。 :04/05/24 21:28 ID:ZMrgJPYB
趣味でゲーム作るならHSPで十分だな。
ム板ってなんですか? どこにあるのですか?
741 :
659 :04/05/24 21:36 ID:gg7ZH38J
score=1000 mes "じゃんけんゲーム" *Selection himself=0:enemy=0 mes "何をだすか選んでください。" pos 0,80 button "グー",*g pos 70,80 button "チョキ",*c pos 140,80 button "パー",*p pos 0,120 mes "いくら賭けますか?" input kake mes "現在の所持金"+score+"" stop *g cls himself+1 goto *enemy2 stop *c cls himself+2 goto *enemy2 stop *p cls
つーか本家に掲示板あるのがまず間違い。 って、板違いレススマソ。
743 :
659 :04/05/24 21:41 ID:gg7ZH38J
*g cls himself+1 goto *enemy2 stop *c cls himself+2 goto *enemy2 stop *p cls
744 :
659 :04/05/24 21:41 ID:gg7ZH38J
himself+3 goto *enemy2 stop *enemy2 if kake>score: mes"所持金足りないですよ・・・"goto*Selection gettime enemy,7 enemy=enemy/400+1 if himself=1:mes "あなたはグーを出しました。" if himself=2:mes "あなたはチョキを出しました。" if himself=3:mes "あなたはパーを出しました。" if enemy=1:mes "敵はグーを出しました。" if enemy=2:mes "敵はチョキを出しました。" if enemy=3:mes "敵はパーを出しました。" if himself = enemy :mes "あいこです。" if (himself=1)and(enemy=2):mes "あなたの勝ちです。":score+kake*2 if (himself=1)and(enemy=3):mes "あなたの負けです。":score-kake if (himself=2)and(enemy=1):mes "あなたの負けです。":score-kake if (himself=2)and(enemy=3):mes "あなたの勝ちです。":score+kake*2 if (himself=3)and(enemy=1):mes "あなたの勝ちです。":score+kake*2 if (himself=3)and(enemy=2):mes "あなたの負けです。":score-kake if score<1 :mes "所持金が無くなりました・・・":wait 200:end goto*Selection stop テキストボックス内に、数字以外の文字を入力すると警告等が出るように設定したいのですが、どうしたら良いでしょうか?
if kake<1 : エラー ダメか?
>>744 HSPだとめんどくさい。
結果だけで判断するならまだ楽だが、
入力できないようにするようにするには。
アップダウンボタンでも使えば?
int kake if kake=0 : ;エラー こんな感じ?
748 :
659 :04/05/24 22:32 ID:gg7ZH38J
>>746 アップダウンボタンですか、それだと高い金を賭けるとき面倒になってしまいますね。
>>745 >>747 何も足されなかった時にエラーがでるようにすればよかったんですね、参考になりました。
どうもです。
>>748 簡単に出来る
#include "llmod.as"
input num, 100, 25
mref bmscr, 67
prms = bmscr.41, -16 ; bmscrは41+オブジェクトID
dllproc "GetWindowLongA", prms, 2, D_USER
prms.2 = dllret|$2000 ; ES_NUMBERを追加
dllproc "SetWindowLongA", prms, 3, D_USER
stop
コンパイルってどういう流れで行われてるんですか? hspcmp.dllが使われてるって事はわかったんですが、それ以降はさっぱりで。
>>750 多分普通のコンパイラと変わらない。
#で始まるプリプロ処理して
マクロ処理して、コンパイル。
まあ、吐くのは中間ソースだけど。
普通にコンパイラとかググってみれば?
微妙にニュアンスが違うかも。 コンパイラがどうなってるかというよりも、ソースファイルをどう渡せば コンパイルしてくれるのかなって事です。 他のコンパイラって大抵exeなんですけどHspはDLLですし。 エディタ作ってるんですけど、この辺が分からなくて。
hspのアプリってパッチで修正、みたいなのできないんですかね?
>>752 exeもdllもおおまかに言ってしまえば、そう変わらない。
自分自身で動けるか、他から動かされないとダメなのかの違い(くらいに今は思っておいていい)
コンパイラがexeのものはそれ単体で動くけど、
hspcmp.dllはそれ単体で動かないからHSPed.exeあたりから呼ばれて動く。
コンパイル動作そのものはあまり変わらない。
もちろん
>>752 が作ろうとしているエディタから呼んでもいい。
hsed2.exeだろ。
>>752 hspcmpのマニュアルのCサンプルをHSPのソースに翻訳+一部追加・削除・改変
#include "hspcmp.as"
sdim hsp_file, 128
sdim objname, 128
sdim errbuf, 32000
dialog "as", 16
if stat = 0: mes "Canceled.": stop
getpath hsp_file, refstr, 8
getpath objname, hsp_file, 1: objname += ".ax"
hsc_ini hsp_file
hsc_objname objname
hsc_getmes errbuf
hsc_comp 1, 0
st = stat
hsc_getmes errbuf: mes errbuf
if st: stop
execmd = "hsp2 "
if hsp_fullscr: execmd += "*"// フルスクリーンモード時
if hsp_debug: execmd += "@"// デバッグウインドゥ表示時
execmd += objname
exec execmd
stop
>>756 あれ、hspcmpのマニュアルってあるんですか?
出来ればCのサンプルの方も見てみたいんですけど。
どこにあるか教えて頂けないでしょうか。
758 :
名前は開発中のものです。 :04/05/25 23:35 ID:VMuSuymo
>>757 命令リファレンス+Cサンプルって感じだけどね。
HSPのディレクトリ\docs\hspcmp.txt
760 :
名前は開発中のものです。 :04/05/25 23:50 ID:So+hH3tj
HSPがCベースだったらよかったのに・・・ 最近HSPやりはじめたから条件式でついつい==使ってしまう・・・
==でなにか問題でも?
>753 Nスクのパッチみたいなのを言ってるなら、HSP自体にそんな機能はない。 自分で作るか、差分ファイル作成ツールとかを使うといいだろう。
764 :
名前は開発中のものです。 :04/05/26 17:18 ID:xdzFRXv3
質問なんですが、ひまわりがうざいのは仕様ですか?
原因不明のバグです。
なんでここでやるかね
ぴゅう太以下
今思えばプログラム言語って全部英語だよね。 米人は楽にマスターできるんだろうなぁ
>>770 どうせ使われてる単語なんかそう難しいものでもないし、
言語はそこまで問題じゃないかと思うが・・・・・。
>>770 はぁ?
確かに資料は英語の方が多いが、命令は何語だろうと関係ない。
数学はxとかyとか出てくるから云々、 ってのに近いな
ひまわりやってみろよ 糞すぎだぞ
775 :
名前は開発中のものです。 :04/05/27 10:20 ID:7kN+5eVs
es_screenで作った画面って、gcelで指定すると、何番を指定すりゃいいの?
向日葵を見てロゴライターを思い出した
777 :
名前は開発中のものです。 :04/05/27 11:46 ID:iQOjM3vr
HSPDXってもうバージョンアップしないのかなあ。 アルファブレンディングさえ実装してくれればもう何もいらないのに。 HSPDXAはいろいろ不具合あるし…。
開発終了するんだったらオープンソースにしてほしい。 SourceForgeとかで。 過去にいいプラグインとかあっても開発終了して ちょっと機能が足りなかったりするから。
てめーら人に頼んなボケが これだからHSP厨はう(略
オープンソースにしたところでお前ら改良に参加するのかと
dllのコードなら有るがな
素のDirextX APIって決して使いやすいものではないから それのラッパ作れる人間にとっては、そのままCで開発したほうが早いわけで
784 :
名前は開発中のものです。 :04/05/27 19:07 ID:iQOjM3vr
>>783 。そりゃそうですわな。
足りんなーと思うなら不満ぶつ前に
自分で作るのが手っ取り早いでしょ。
制限された中でどれだけ出来るかに挑戦するのも醍醐味じゃ?
HSPしか使えないから待ってるんじゃよ
俺は趣味で作ってるけどな。 実際に自分で作ったプラグインを使ってない。 だからといってC、C++などで使ってるわけでもない。 単に勉強のために作ってる。 まあ、それ以外の物(こだわり)もあるけど。
これは個人的なお願いだけど、plug-inとか使ったソフトとか公開したら 作者にお礼のメールでもしてよ。 単に、使っていいなって思っただけでもいいから。 お礼言われて嫌な人間はいないと思うし、やる気も上がると思うから。
付属ドキュメントに謝辞としてプラグインに触れてるけど(含オニオンソフト)、 メールだとお互い厄介かなあと思い出さなかった。
>>789 おれもそんな感じだけど、出した方がいいんかなあ
出したくないのに出してもしようがあるまいよ
>>778 HSPDXA信者の俺としては頂けん発言ですな。
不具合の殆どは少し工夫すれば消えますよ。
>>792 ・V-sync待たない時に60FPSに安定させられない
・ウィンドウモード使用時に「不正な処理」でよく止まる
この辺の回避の仕方を教えてくれると嬉しいんだが
ちなみにビデオカードはRadeon9600proだ。
>>793 無理です。
すんません、すんません。
HSPDXAダメダこりゃーー。
>V-sync待たない時に60FPSに安定させられない
ホントなんででしょうね??
スプライトが増えると逆に速くなったりしますね。
でも、HSPDXの場合は強制的に同期とらされますが、
+αは細かく取れるからイイじゃないですか。
はい。すんません。
>ウィンドウモード使用時に「不正な処理」でよく止まる
そうなんですか??
自分はなった事無いです。オンボードです。
訂正。
やっぱ、HSPDXAダメダこりゃーー。
つーか、俺がダメだな。こりゃー。
つーかHSPDXAでウィンドウモードにすると画面ぼやけない?
ちなみにリアルタイムでFPS測って、 60以上なら0.5ms減らし、 60未満なら0.5ms増やす ってのをいつか試験的にやった覚えが ありますが、結構うまくいったような気がします・・・。 あ、0.5ってのはもともとウェイト値の二倍の値を保持。 2で割ったもの+(奇数&フレーム数が奇数 なら+1) でーーーす。
飛翔鮎って同人シューはHSPDXAで割とFPS安定させてた気が。 どうやってんだろ。
V-Syncは使わない方がいい。 60Hzとは限らないからいろいろめんどくさい。
>>797 今テストしてみました。
>>796 のやり方で、
まずプラグインが用意している
fps計測の命令で測る。
fps<20のときwait値++
fps>20のときwait値--
でナゼかFPS60で非常に安定しました。
>>798 自分は一応オプションで色々設定できるようにしてます。。
線形補完モードも、対応して無い場合、無残な絵になりますんで。
あ!!!
間違えでした。
取り消しとりけし!
>>799 はあぼーん!
ぶひゃひゃひゃひゃ
いろいろやりましたが万策尽きますた。 こうなったら、うんこーど垂れ流し。 あらかじめMasCnt=64 Fps=57〜64あたりを振動します。 tmpA=0 if waitN\4=1 &(MasCnt\4=0):tmpA=1 if waitN\4=2 &(MasCnt&1):tmpA=1 if waitN\4=3 &(MasCnt\4>0):tmpA=1 es_sync waitN/4+tmpA if MasCnt\60=0{ if fpsN>60: waitN++ if fpsN<60: waitN-- } await 0 getfps fps
>>802 訂正。
あらかじめwaitN=64
MasCntはフレーム総数
( ´,_ゝ`)
そんな調整がいるのか?
806 :
659 :04/05/29 00:25 ID:Pt5fKNVu
a=100:b=100 screen 0,450,400,0 boxf 0,250,450,0 font "fontname",64:color 255,255,255, pos 135,100:mes "(・∀・)" sysfont 0 pos 350,250:objsize 100,30:button "攻撃",*turn button "防御",*turn button "呪文",*turn button "回復",*turn button "ギブアップ",*turn color 0,0,0:pos 0,250:mes "ジサクジエンが現れた!" *turn mes "現在の自分の体力は"+a+"です。" mes "対戦相手の体力は"+b+"です。" stop 背景が白の部分のメッセージのみを削除したい場合どうすれば良いのでしょうか?
color 255,255,255:boxf 0,250,350,400
808 :
659 :04/05/29 01:44 ID:Pt5fKNVu
DirectXでのSTG作りで勉強中なんだが 直線的な敵の弾はes_adirやes_aimを1回使えば 後は勝手に飛んでくれるから楽なんだけど 誘導弾とか複雑な動きをする弾を作ろうとすると 一気に難易度が上がって頭が混乱してしまふ。 どっかに分かりやすく説明しているHPないかなあ…。
毎フレーム狙う方向変えれば良いだけだぞ。 あとは向きを変える量に限度を設けたり、加減速させたりと 工夫すればいろいろ弾道が変えられる。
ム板ってどこにあるんですか?
プログラム板のことだよ
と言ったら、
>>813 がム板の方を向いた。
ヽ|/ / ̄ ̄ ̄`ヽ、 / ヽ / \,, ,,/ | | (●) (●)||| | | / ̄⌒ ̄ヽ U.| ・・・・・・・・ゴクリ。 | | .l~ ̄~ヽ | | |U ヽ  ̄~ ̄ ノ | |  ̄ ̄ ̄ |
>>813 ム板はムーというオカルト雑誌があり、そのための板の事。
817 :
名前は開発中のものです。 :04/05/29 16:35 ID:ezWmlC3b
>>818 せめて、.Netにしとけよ。
そしたら結構楽にダイアログとかだせるんだから。
>>811 これおもしろいんだが作者どこだ?
あちこち貼られてて怨恨なのか宣伝なのかよくわからん
RPGというよりシミュレーションゲーム
昔の投稿雑誌に載ってそう
15年ぐらい前に逆行したようだ
おもしろいのに面倒なので途中で辞めたのも昔ゲーぽくていい
しかし、こんな事言うのもアレだけどさ。winnyとかあると自作ゲームなんて作るの馬鹿らしくならない? 多額の開発費を掛けたサイズもギガバイトクラスのゲームが割れとしてフリーの状態にされちまう。 そんな中、素人の作ったゲームなんざもう・・・。 そんな違法な事やってるのごく一部だと思っても、やはり空しさを感じる。 シューティングもMAMEでアーケードの奴やった方が面白い・・・。
自作のゲームと市販のゲームでは 見るとこが違うしな
市販のゲームは大抵金をかけてやる分どうしても大作になりがち。 単純というと語弊があるがむかしのファミコンぐらいのゲームだって需要はある。
>>822 市販のゲームがつまんないからフリーゲーム作るんじゃん
遊んでもらいたいという作者もいれば、単に作りたいだけという作者もいる。 そして友人に喜んでもらえればそれでいい、という人もな。 あるいは市販では絶対に出せない類のものにも需要はあるのだよ。 版権ものとかな。 アーケードものについてもそうだ。ゲーセンで名前を残したいやつだっているさ。 単に遊びたいだけ、という者ばかりでもないのだよ。 君の考えは否定しないが、だからといって割れは推奨できないよな。
市販ゲームは金儲けのためだから力が入る 同人ゲームは完成、コミケにいったときの喜びを得るためだから楽しい その差。
実はnyでゲーム落としてる漏れとしては確かにもうフリゲーなんてやってらんねという感じはある。(w
>>809 誘導弾にもいろいろありますねー。
@es_aim技
常にes_aimで自機を狙う。一番簡単。
ただ、これはかなりキツいホーミングになるんで、
必ず指定フレーム後解除するか、es_aimを使う頻度を下げないとだめ。
Aes_apos技
常に自機と誘導弾の座標を調べる。
自機x > 弾x なら弾速度x成分を増やす。
もちろん調整も必要。
速度成分の上限や、何フレームに一度調べるかなど。
Bes_adir技
常に自機と誘導弾の相対角度を調べる。
角度の差を縮めるように設定する。
その際、右か左かどちらに回すかの判定がムズイ。
ちなみにes_aimはかなり制度が悪い。
低密度弾幕ならごまかせるが、高密度低速弾幕系STGの場合
使わない方がいい。
自前で、制度の高い角度を算出しないといけない。
>>818 随分前もこんな感じで荒してた奴がいたな。
>>822 &829
おまえらの言っている意味がわからん。
自分でプログラムを組んで、絵を描いて、動かして、完成したそれをサイトで公開して、
人の感想を聞いたり、2ちゃんやフリゲサイトで紹介されたり、雑誌掲載されたり。
そういった諸々が楽しいから俺はゲームを作ってる。
ゲームで遊ぶ事と作る事はまったく別の事だ。
それともおまえらゲームを作るんじゃなくて、ただ遊ぶ目的だけでこのスレ(板)にいるのか?
しかも堂々とnyで落としたとか言いやがって。
お前等みたいなバカのせいで47氏は逮捕されたんだろうが。氏ね乞食どもが。
露骨な釣りに反応するなっての
流れをぶった切って超初心者的質問。 キャラクター(今回は●で)を、クリックで指定したセルに3セル/秒くらいの速度 で移動させるにはどうしたら良いかのぉ。 色々調べてみて、マウスの座標を取得とかあったんだが、クリックとかがどうにも・・・ できればご教授願いたき所存・・・・
;マウスでクリックしたところに●が移動するサンプル ;意図するものと違ったらスマソ chr="●" x=312 :y=232 mx=312 :my=232 repeat redraw 0 stick m :if m&256 :gosub *ms gosub *draw if x!mx|(y!my) :gosub *mov redraw 1 await 30 loop *draw color :boxf color 255,255,255 pos x,y :mes chr return *ms mx=mousex :my=mousey if mx\2!0 :mx-- if my\2!0 :my-- return *mov if x!mx :xx=mx-x :if xx>0 :x+=2 :else :x-=2 if y!my :yy=my-y :if yy>0 :y+=2 :else :y-=2 return
>>822 >>829 やるならせめて人前でカミングアウトせず隠れてやれよ厨房。
nyやってる俺ってすげ〜っみたいに思ってるのか?
あと、釣りならメル欄に釣りってやらないと釣りにならないよ。
あと出しで言っても負け犬の遠吠え。w
あ、ny使わないと欲しいゲームも手に入れられない、
お前らは元々人生負け犬の最下層のクズ人間か。wwww
838 :
835 :04/05/30 13:35 ID:akGhK5bK
>>836 か、完璧すぎますΣ(´Д` )
まさに頭の中にあったやつですよ、これ。
しかしまだ結構な初心者なので、どういう仕組みなのか・・・
(!とか&とか、HSPで使うんだねぇ)
>>838 意外と簡単だと思う。
あと、ifの説明見れば!も&も、あと\も載ってる。
;
>>836 に便乗して俺も作ってみた。
#define WHITE 255
#define BALL_SPEED 50
#define BALL_SPIN 5
repeat
redraw 1 : redraw 0
await 40 : color : boxf
stick key
if key&256>0&(MoveFlag=0){
Goto_x = mousex
Goto_y = mousey
MoveFlag = BALL_SPEED
}
if MoveFlag{
ax = Ball_x : ay = Ball_y
Ball_x -= -Goto_x+Ball_x/MoveFlag+BALL_SPIN
Ball_y -= -Goto_y+Ball_y/MoveFlag
MoveFlag-=MoveFlag>1
if Ball_x=ax&(Ball_y=ay) : MoveFlag=0
}
palcolor WHITE
pos Ball_x ,Ball_y
mes "●"
loop
842 :
840 :04/05/30 15:30 ID:WHRdgrVu
;
>>841 これでできる筈。
#define WHITE 255
#define BALL_SPEED 45
#define BALL_SPIN_X 3
#define BALL_SPIN_Y 0
Ball_x=310 : Ball_y=230
repeat
redraw 1 : redraw 0
await 40 : color : boxf
stick key
if key&256>0&(MoveFlag<2){
Goto_x = mousex : Goto_y = mousey
MoveFlag = BALL_SPEED
}
if MoveFlag{
ax = Ball_x : ay = Ball_y
Ball_x -= -Goto_x+Ball_x/MoveFlag+BALL_SPIN_X
Ball_y -= -Goto_y+Ball_y/MoveFlag+BALL_SPIN_Y
MoveFlag-=MoveFlag>1
}
palcolor WHITE
pos Ball_x ,Ball_y
mes "●"
loop
843 :
835 :04/05/30 16:24 ID:akGhK5bK
色々参考になりますねぇ。
>>839 簡単ナノカ・・・
わからないコマンドなんかは、マニュアルで調べてみます(ifも)
なぜだか移動ルートまで想定してたのとまったく同じだったので、そこらへんも
なぜなのか調べてみよう。
考えてた移動ルート
==========
=********=
=***→→→★*=
=**/*****=
=*●******=
=********=
==========
>>840 すげーなんかうねうねする。
でも自キャラの移動方法として、●を画像に置き換えてやるつもりだから
>>836 の
ソースが妥当かなー。
844 :
835 :04/05/30 17:14 ID:akGhK5bK
if文の書き方で、(=,!,&,|)の意味はわかったのですが、(\)だけなぜか見つかりません・・・ 公式のマニュアルにも書いてないし・・・ ここだけ教えてもらえますでしょうかOTL //ついでに#deineとrepeat~loopもそれとなく覚えた´ω`)ノ
>>844 剰余。除算の余り。
10/3 = 3
10\3 = 1
849 :
835 :04/05/30 17:41 ID:akGhK5bK
>>845 ,846
thx
難しくなってきた・・・
\はしょっちゅう使うね。
Aimbotってなんですか?
852 :
835 :04/05/30 23:44 ID:akGhK5bK
やっと
>>836 のソースの全貌が掴めてきたかな。
次は自分で似たようなのを組めるかどうか試してみよう。
現在付属のサンプルソース(HSPで作った説明書みたいなやつ)を、
命令リストと見比べながら読み解いてます。
やっと配列変数の概念がわかった(まだ試してないけど)。
ところでこのスレで段違いに初心者な俺はスレ違いですか?(´・ω・`)
>>852 普段から物を0から数えないと気がすまなくなるほど
配列を使いまくりましょう。
スレ違いの人は居ないと思う。
スレ違いのレスはあると思う。
>>837 人前でカミングアウト?俺は誰の前でカミングアウトしたんだよ?www
ここで何か告白したら他人に重大な秘密を知られた事になんのか?(w
現実との区別位つけような僕ちゃん(w
ま、そう怒るなよ。お前がどんなカスゲー作ろうとお前の勝手だよ。
俺は多分、お前の作った素人丸出しのゴミゲーなんざ見ただけで吐き気を催すだろうけどなwww
>>854 お前のことはどうでもいいから、いちいちここに書くな。
スレ違いだからどっか行ってね
厨は語尾にwをよく付けるな。
858 :
854 :04/05/31 04:58 ID:/Tohmlfi
うるせー言っとくがお前らのIP丸わかりだぞ。 俺はそういう会社に勤めてるから調べる機械あるし。
何しにきてんのかねこのひと…
いいかげんスレ違い。
>>858 は真性っぽいから放置しる。
↓次のHSPの質問ドーゾ。
初心者です。質問させてください。 HSPについてどういう質問をすればいいんですか?
ピンポンゲームの練習としてこんなの作ったんですけど bx=4 : by=4 : lx=640 : ly=480 *main redraw 1 color 0,0,0 : boxf : color 255,255,0 : pos x,y : mes "●" line lx,0,lx,480 : line 0,ly,640,ly x+=bx : y+=by gosub *ball : gosub *bar redraw 0 : await 1 goto *main *ball if x<0 : bx=4 if x+16>lx : bx-=4 if y<0 : by=4 if y+16>ly : by-=4 return *bar stick ky,15 if ky=1 : lx-=4 : if lx<200 : lx=200 if ky=4 : lx+=4 : if lx>640 : lx=640 if ky=2 : ly-=4 : if ly<200 : ly=200 if ky=8 : ly+=4 : if ly>480 : ly=480 return →● │← こういう動きでぶつかった場合ボールの移動速度が増えてしまうんですけど 速度を一定にするにはどうしたらいいでしょう?
>>863 こんな感じ?
bx=4 : by=4 : lx=640 : ly=480
*main
title ""+bx+"/"+by+"//"+x+"/"+y;速度と位置表示
redraw 0;描画開始は1じゃなくて0or2 終了は1
color 0,0,0 : boxf : color 255,255,0 : pos x,y : mes "●"
line lx,0,lx,480 : line 0,ly,640,ly
if (bx<0)&(bx<-4): x=x+(bx+4):bx=-4;速度4以上なら位置からバーの進んだ分を引いて速度を4に修正
if (by<0)&(by<-4): y=y+(by+4):by=-4
x+=bx : y+=by
gosub *ball : gosub *bar
redraw 1 : await 1
goto *main
*ball
if x<0 : bx=4
if x+16>lx : bx-=4
if y<0 : by=4
if y+16>ly : by-=4
return
*bar
stick ky,15
if ky=1 : lx-=4 : if lx<200 : lx=200
if ky=4 : lx+=4 : if lx>640 : lx=640
if ky=2 : ly-=4 : if ly<200 : ly=200
if ky=8 : ly+=4 : if ly>480 : ly=480
return
>>864 ありがとうございます。上手くいきました。
if (bx<0)&(bx<-4): x=x+(bx+4):bx=-4
if (by<0)&(by<-4): y=y+(by+4):by=-4
この辺が難しいですね...一人じゃ思いつかない
picloadしたインデックスカラー画像の 指定座標(x,y)のパレット番号nを得るに はどうしたらいいんでしょうか?
>>867 pgetもgetpalもRGB値しか取得できないように思うのですが?
mentime+ if mentime=1 { dim missile_SP,1400 :dim missile_kakudo,1400 :dim missile_count,1400 } if time\100=0 { es_new missile_SP.missile_temp,0 efx_set missile_SP.missile_temp,257,127,85 es_type missile_SP.missile_temp,32;誘導ミサイルのタイプ値 missile_count.missile_temp=20;誘導ミサイルの誘導時間 missile_kakudo.missile_temp=0;誘導ミサイルの方向入力 es_adir missile_SP.missile_temp,missile_kakudo.missile_temp,200;誘導ミサイルの速度、方向 missile_temp+ if missile_temp>=1400 :missile_temp=0 } ;---------------------誘導ミサイルの動き管理--------------------------------------- enemy=0 repeat es_find enemy,32,enemy;誘導ミサイル(32)検索 if enemy=-1 : break;なければ出る es_get ex,enemy,3;x座標取得 es_get ey,enemy,5;y座標取得 es_get en,enemy,12;キャラクタ番号取得 if (missile_count.enemy>0)&(mentime\2=0) {;ミサイルの誘導スクリプト missile_count.enemy- missile_kakudo.enemy-=1 es_adir missile_SP.enemy,missile_kakudo.enemy,200 } enemy+ loop
870 :
869 :04/05/31 15:29 ID:NGIbZxZJ
半円を描いて飛ぶミサイル作っているのですが 上のスクリプトだと最初の3つの弾しか半円で飛んでくれません。 何が悪いのかどなたかご指摘下さい。
>>870 if (missile_count.enemy>0)&(mentime\2=0) {;ミサイルの誘導スクリプト
のmentimeあたりが悪そう。
そこら辺いじくってみて。
>>868 標準ではできなかったんじゃないかな
自分でプラグイン組むならHSPDLL.HTMの
>vram_adr = pBit + ( ( sy - 1 - y ) * sx ) + x;
の値もってくりゃ良いだけだったと思う
>>866 dialog "bmp;*.jpg;*.mag", 16
if stat == 0 : end
screen 0,,, 1
picload refstr
mref vram, 66
x=-1 : y=-1
repeat
wait 1
if (x!=mousex)|(y!=mousey) {
x = mousex : y = mousey
if (x<0)|(y<0)|(x>=winx)|(y>=winy) : continue
peek c, vram, winy-1-y*winx+x
getpal c
title "色番号 : "+c+" ("+rval+","+gval+","+bval+") - ["+x+","+y+"]"
}
loop
874 :
866 :04/05/31 18:05 ID:cLmH0fh5
>>872 ,873
どうもありがとうございました。
mes "テスト" stop mesと"テスト"の間には半角スペースがいるって書いて歩けど スペースいれなくてもエラーにならない・・・あとスペース何個入れてもエラーにry あとtabは見易さだけのためですか?ほかに意味はないんですか?
タブは見やすさのため。実際にはあっても無くても同じ。 2個以上の半角スペースも1個と変わらない。 スペース無しは解釈してくれるから基本的に問題は無いが、 例外も有るし、見やすさにも関わるから勧めない。 mes 変数とかから半角スペース取っちゃ駄目とか。
まぁ、プログラムってのは一種の芸術だからね。 見やすくできるところは出来るだけやっといた方がいいと思う。 質問が多くて活気が出てきたな。
芸術というか個人的な美学じゃネーノ
でも、見やすく書くというのは重要。 保守性、拡張性に関係してくるから。 どんなプログラムでも人に見せるつもりで書いた方がいい。
一つのサブルーチンに200行の処理があるとかは悪い例だな。
881 :
854 :04/05/31 21:49 ID:MC65MFpQ
858 名前: 854 [sage] 投稿日: 04/05/31 04:58 ID:/Tohmlfi うるせー言っとくがお前らのIP丸わかりだぞ。 俺はそういう会社に勤めてるから調べる機械あるし。 ワロタ。まさか人を騙って反撃に来るとは。新しい形だ。しかも言ってる事ビミョーだな。
HSPを始めてはや2週間。 シューティングを作成中なのですが、プログラムというのは実質初めてなので楽しくて仕方ありません(笑)。 しかし、いろいろ考えているのですが、うまい解法が見つからずこまっております。 針状の弾を放射状に撃たせたり、ホーミングミサイルを撃たせたり、自機狙いの針弾を打たせたりしたいのですが、 針弾やミサイルのグラフィックを弾の進行方向にあわせて変化させたいと思っています。 なにかよい方法はありますでしょうか? 放射状針弾の場合は、es_adirを使う予定なので、 repeat 16 es_new missile es_set missile,100,200,miss1 es_adir missile,kakudo kakudo+=4 loop といった形で書き、 if (kakudo>=0)&(kakudo<4):es_chr missile,miss1 if (kakudo>=4)&(kakudo<8):es_chr missile,miss2 などの条件式でkakudoを調べ、グラフィックを進行方向(kakudo)に合わせて変化させるつもりなのですが、 これよりも効率のよい方法がある気がしてなりません。 また、ホーミングミサイルの場合、es_aposを使う予定なので、そもそも進行方向を判別させるにはどうやったらよいか…。
>>882 >if (kakudo>=0)&(kakudo<4):es_chr missile,miss1
>if (kakudo>=4)&(kakudo<8):es_chr missile,miss2
この部分が、スプライト発生ルーチンか、
発生後の制御ルーチンかによって、話は違ってきますが、
角度は64制度ですよね??
ぢゃあ、例えば画像を16方向用意してるなら、
es_chr missile,kakudo+2/4
でなんとなく出来そうですが・・。
ところで放射状弾ってなんでしょうか?
発射後、そのまま直進ですか?
それなら、repeatのなかで角度を指定しましょう。
ホーミングは、常に自機との角度を算出して(es_ang ?)みてはどうでしょう?
質問です。 ソース中に数値型配列変数を使っているのですが、代入していない数字(10桁 くらい)が勝手に代入されて困っています。 スクリプト中に巨大な数字を代入する場面も計算式もなく原因がわかりません。 「HSP 数値型 配列変数」などで検索してみましたが、それらしきものは見つかり ませんでした。 何が原因なのでしょうか?
>>882 ああ、ちなみにスプライトを扱う場合は、その数の要素を持った
いろいろなパラメータの配列をたくさん用意してたほうがいいですよ。
座標x,yなら dim SpPosX,512: dim SpPosY,512
同じように角度や速度、移動変化量
あと欠かせないのが発生からの時間とか。。。
スプライト発生時に一気にセットして、あとからそれらをいじくるだけで
ほとんど制御できるようになります。。
あ、882はサンプルとして書いてるだけかもしれませんが。
そうだったらすみません。
2.61キタ━━━(゚∀゚≡(゚∀゚≡゚∀゚)≡゚∀゚)━━━━!!!!!!!!!!
887 :
835 :04/06/01 00:31 ID:VHCf9zGZ
836さんのソースを全部理解してから次の段階に行こうと思って、注釈つけてみたのですけど これで合ってますかねぇ。それに、わからないところも数ヶ所ありまして・・・ ///////////////////////////////////////////////// screen 0,640,480,1+4 ;スクリーン設定 chr="●" ;変数chrにキャラとなる「●」を代入 x=312 :y=232 ;最初のキャラ座標を指定 mx=312 :my=232 ;マウス座標を指定 repeat ;繰り返し始点 redraw 0 ;仮想空間に描写(ちらつき防止) color 0,0,0 stick m,256,1 :if m&256 :gosub *ms ;左クリックされたか(左クリック=256) gosub *draw ;*drawに移動 if x!mx|(y!my) :gosub *mov ;今キャラのある座標と違う場所がクリックされたら*movに移動 redraw 1 ;実際の画面に描写 await 0 loop ;繰り返し終点 *draw color :boxf ;真っ黒に塗りつぶし color 255,255,255 pos x,y :mes chr ;最初指定した座標に、変数chrに代入した「●」を描写 return 続く
888 :
835 :04/06/01 00:31 ID:VHCf9zGZ
続き *ms mx=mousex :my=mousey ;マウス座標を(mx,my)に代入 if mx\2!0 :mx-- ;もしmxを2で割り切れたら・・・? if my\2!0 :my-- ;? return *mov if x!mx :xx=mx-x :if xx>0 :x+=2 :else :x-=2 ;mxとxの距離を出して・・・xに2を足す引く? if y!my :yy=my-y :if yy>0 :y+=2 :else :y-=2 ;? return ///////////////////////////////////////////////// とくに「*mov」の最後の方、+2、-2ドット動くとしか考えられない・・・・
>>884 文字列変数の文字数無指定で64だったか
それをオーバーしてると数値変数が狂ったような、2.55の頃ね
今は知らない
>889 dimで配列変数宣言してるので、バッファオーバーフローはないと思いますが、 なるほど、オーバーフローしたみたいな変な数字だった。その線で調べてみます。 余談ですが、 dim a,2 dup sun,a.0 dup mon,a.1 sun=2 mon=4 stop とすると、「sun.1」に「mon」に代入した数値が入っているのですが、既知の問題 ですか? HSPでは変数宣言しなくても使えるけど、宣言したほうが良いのでしょうか?
891 :
名前は開発中のものです。 :04/06/01 12:45 ID:taFHsF0l
>>887-888 if mx\2!0 :mx--
;もしmxを2で割り切れなかったら1引く = 2で割り切れるようにする
if x!mx :xx=mx-x :if xx>0 :x+=2 :else :x-=2
;mxとxの距離を出して、もしクリック座標が●の座標より右ならX座標を+2
;左ならX座標を-2。右か左かは xx が正か負かで調べる。
>>890 仕様です。
dup は、変数のポインタをコピーするものと考えればよい。
sun は a.0 のポインタを示すので、sun.1 はおのずと a.1 になる。