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

HSP - Hot Soup Processor [6]

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名前は開発中のものです。04/03/07 21:01ID:XxrmN16J

       (  ,,,)
        .(  ,,)      スクリプト言語 HotSoupProcessor について
        ( ,,).        ゲーム製作の視点から、また〜りと語り合うスレ。
     , -──- 、
    (,;::-──-; )-、
     .|` ̄ ̄ ̄´;;|ヽ l   * 質問する前に検索してみる事
     l;    :::;;;l-' /   * ヲチ、ネタなどはスレ違い
    ,-ヽ───.'-、´..   * 前スレ、関連サイトは >>2-5 あたり
    ヽ ──── '
0848名前は開発中のものです。04/05/30 17:24ID:Vtt1i+fd
>>847
イヤ、俺のは一言だし・・・
084983504/05/30 17:41ID:akGhK5bK
>>845,846
thx
難しくなってきた・・・
0850名前は開発中のものです。04/05/30 17:48ID:2/SVZbO5
\はしょっちゅう使うね。
0851名前は開発中のものです。04/05/30 19:43ID:4+Wlytac
Aimbotってなんですか?
085283504/05/30 23:44ID:akGhK5bK
やっと>>836のソースの全貌が掴めてきたかな。
次は自分で似たようなのを組めるかどうか試してみよう。

現在付属のサンプルソース(HSPで作った説明書みたいなやつ)を、
命令リストと見比べながら読み解いてます。
やっと配列変数の概念がわかった(まだ試してないけど)。

ところでこのスレで段違いに初心者な俺はスレ違いですか?(´・ω・`)
0853あみじ房 ◆HSP.RPGgiU 04/05/31 00:04ID:cn/WZnQY
>>852
普段から物を0から数えないと気がすまなくなるほど
配列を使いまくりましょう。

スレ違いの人は居ないと思う。
スレ違いのレスはあると思う。
0854名前は開発中のものです。04/05/31 00:12ID:5FdWsV2H
>>837
人前でカミングアウト?俺は誰の前でカミングアウトしたんだよ?www
ここで何か告白したら他人に重大な秘密を知られた事になんのか?(w
現実との区別位つけような僕ちゃん(w

ま、そう怒るなよ。お前がどんなカスゲー作ろうとお前の勝手だよ。
俺は多分、お前の作った素人丸出しのゴミゲーなんざ見ただけで吐き気を催すだろうけどなwww
0855名前は開発中のものです。04/05/31 00:21ID:3JQuBpff
>>854
お前のことはどうでもいいから、いちいちここに書くな。
0856名前は開発中のものです。04/05/31 00:35ID:MHL5IPht
スレ違いだからどっか行ってね
0857名前は開発中のものです。04/05/31 04:53ID:rSZBBnnk
厨は語尾にwをよく付けるな。
085885404/05/31 04:58ID:/Tohmlfi
うるせー言っとくがお前らのIP丸わかりだぞ。
俺はそういう会社に勤めてるから調べる機械あるし。
0859名前は開発中のものです。04/05/31 05:26ID:wvAbCy2I
>>858
IPなんか調べて何に使うのかね。
0860名前は開発中のものです。04/05/31 05:31ID:8fj1VvMV
何しにきてんのかねこのひと…
0861名前は開発中のものです。04/05/31 06:01ID:y4am2OEK
いいかげんスレ違い。
>>858は真性っぽいから放置しる。

↓次のHSPの質問ドーゾ。
0862名前は開発中のものです。04/05/31 07:09ID:DXb+lOBm
初心者です。質問させてください。
HSPについてどういう質問をすればいいんですか?
0863名前は開発中のものです。04/05/31 07:31ID:qLapFQX0
ピンポンゲームの練習としてこんなの作ったんですけど

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

→● │← こういう動きでぶつかった場合ボールの移動速度が増えてしまうんですけど
速度を一定にするにはどうしたらいいでしょう?
0864名前は開発中のものです。04/05/31 09:56ID:y4am2OEK
>>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
0865名前は開発中のものです。04/05/31 12:26ID:YUeo6ud6
>>864
ありがとうございます。上手くいきました。
if (bx<0)&(bx<-4): x=x+(bx+4):bx=-4
if (by<0)&(by<-4): y=y+(by+4):by=-4
この辺が難しいですね...一人じゃ思いつかない
0866名前は開発中のものです。04/05/31 13:02ID:tZhQhQ6j
picloadしたインデックスカラー画像の
指定座標(x,y)のパレット番号nを得るに
はどうしたらいいんでしょうか?
0867名前は開発中のものです。04/05/31 13:56ID:PTm6pFZm
>>866
マニュアルすべて読んでからまた来い。
0868名前は開発中のものです。04/05/31 14:19ID:LThXnLUm
>>867
pgetもgetpalもRGB値しか取得できないように思うのですが?
0869名前は開発中のものです。04/05/31 15:27ID:NGIbZxZJ
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
087086904/05/31 15:29ID:NGIbZxZJ
半円を描いて飛ぶミサイル作っているのですが
上のスクリプトだと最初の3つの弾しか半円で飛んでくれません。
何が悪いのかどなたかご指摘下さい。
0871名前は開発中のものです。04/05/31 15:37ID:aQ5PzfpN
>>870
if (missile_count.enemy>0)&(mentime\2=0) {;ミサイルの誘導スクリプト
のmentimeあたりが悪そう。
そこら辺いじくってみて。
0872名前は開発中のものです。04/05/31 16:16ID:vF6n5+OE
>>868
標準ではできなかったんじゃないかな

自分でプラグイン組むならHSPDLL.HTMの
>vram_adr = pBit + ( ( sy - 1 - y ) * sx ) + x;
の値もってくりゃ良いだけだったと思う
0873名前は開発中のものです。04/05/31 16:24ID:HzRP4KlJ
>>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
087486604/05/31 18:05ID:cLmH0fh5
>>872,873
どうもありがとうございました。
0875名前は開発中のものです。04/05/31 19:16ID:ZbZa2asJ
mes "テスト"
stop

mesと"テスト"の間には半角スペースがいるって書いて歩けど
スペースいれなくてもエラーにならない・・・あとスペース何個入れてもエラーにry
あとtabは見易さだけのためですか?ほかに意味はないんですか?
0876名前は開発中のものです。04/05/31 19:42ID:DXb+lOBm
タブは見やすさのため。実際にはあっても無くても同じ。
2個以上の半角スペースも1個と変わらない。
スペース無しは解釈してくれるから基本的に問題は無いが、
例外も有るし、見やすさにも関わるから勧めない。

mes 変数とかから半角スペース取っちゃ駄目とか。
0877名前は開発中のものです。04/05/31 20:26ID:wvAbCy2I
まぁ、プログラムってのは一種の芸術だからね。
見やすくできるところは出来るだけやっといた方がいいと思う。
質問が多くて活気が出てきたな。
0878名前は開発中のものです。04/05/31 20:35ID:GZ0TV6lZ
芸術というか個人的な美学じゃネーノ
0879名前は開発中のものです。04/05/31 21:07ID:aQ5PzfpN
でも、見やすく書くというのは重要。
保守性、拡張性に関係してくるから。
どんなプログラムでも人に見せるつもりで書いた方がいい。
0880名前は開発中のものです。04/05/31 21:46ID:C4WpbdM7
一つのサブルーチンに200行の処理があるとかは悪い例だな。
088185404/05/31 21:49ID:MC65MFpQ
858 名前: 854 [sage] 投稿日: 04/05/31 04:58 ID:/Tohmlfi
うるせー言っとくがお前らのIP丸わかりだぞ。
俺はそういう会社に勤めてるから調べる機械あるし。

ワロタ。まさか人を騙って反撃に来るとは。新しい形だ。しかも言ってる事ビミョーだな。
0882名前は開発中のものです。04/05/31 22:11ID:BCUuzvez
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を使う予定なので、そもそも進行方向を判別させるにはどうやったらよいか…。
0883あみじ房 ◆HSP.RPGgiU 04/05/31 23:15ID:2L+UblKZ
>>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 ?)みてはどうでしょう?
0884名前は開発中のものです。04/05/31 23:20ID:uJbT8e2A
質問です。
ソース中に数値型配列変数を使っているのですが、代入していない数字(10桁
くらい)が勝手に代入されて困っています。
スクリプト中に巨大な数字を代入する場面も計算式もなく原因がわかりません。
「HSP 数値型 配列変数」などで検索してみましたが、それらしきものは見つかり
ませんでした。
何が原因なのでしょうか?
0885あみじ房 ◆HSP.RPGgiU 04/05/31 23:40ID:2L+UblKZ
>>882
ああ、ちなみにスプライトを扱う場合は、その数の要素を持った
いろいろなパラメータの配列をたくさん用意してたほうがいいですよ。

座標x,yなら dim SpPosX,512: dim SpPosY,512
同じように角度や速度、移動変化量
あと欠かせないのが発生からの時間とか。。。

スプライト発生時に一気にセットして、あとからそれらをいじくるだけで
ほとんど制御できるようになります。。
あ、882はサンプルとして書いてるだけかもしれませんが。
そうだったらすみません。
0886名前は開発中のものです。04/06/01 00:25ID:6iIlrCBE
2.61キタ━━━(゚∀゚≡(゚∀゚≡゚∀゚)≡゚∀゚)━━━━!!!!!!!!!!
088783504/06/01 00:31ID: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

続く
088883504/06/01 00:31ID: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ドット動くとしか考えられない・・・・
0889名前は開発中のものです。04/06/01 01:28ID:bF0pGXKi
>>884 文字列変数の文字数無指定で64だったか
それをオーバーしてると数値変数が狂ったような、2.55の頃ね
今は知らない
0890名前は開発中のものです。04/06/01 12:32ID:4wE+6E6V
>889
dimで配列変数宣言してるので、バッファオーバーフローはないと思いますが、
なるほど、オーバーフローしたみたいな変な数字だった。その線で調べてみます。

余談ですが、

dim a,2
dup sun,a.0
dup mon,a.1
sun=2
mon=4
stop

とすると、「sun.1」に「mon」に代入した数値が入っているのですが、既知の問題
ですか?
HSPでは変数宣言しなくても使えるけど、宣言したほうが良いのでしょうか?
0891名前は開発中のものです。04/06/01 12:45ID:taFHsF0l
http://www.onionsoft.net/hsp/file/hsp261inst.exe
0892名前は開発中のものです。04/06/01 13:16ID:Pl1Pmbpc
>>890
プゲラ
0893名前は開発中のものです。04/06/01 13:58ID:ZGY61KET
>>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 になる。
0894名前は開発中のものです。04/06/01 17:36ID:BHxNFbSA
一筆書きでピラミッドをつくってみたんですが
もっと効率のいい組み方は無いでしょうか

screen 0,400,400 : cls 4 :x=200 : y=100 : xx=-1 : yy=1
color 0,255,0
repeat
pset x,y : x+=xx : y+=yy : a+=1
if a=50 : xx=1 : yy=0
if a=150 : xx=-1 : yy=1
if a=200 : yy=-1
if a=250 : yy=1
if a=300 : xx=1 : yy=0
if a=400 : xx=-1 : yy=1
if a=450 : yy=-1
if a=500 : yy=1
if a=550 : xx=1 : yy=0
if a=750 : xx=-1 : yy=-1
if a=800 : xx=1 : yy=0
if a=900 : xx=-1 : yy=1
if a=950 : xx=1 : yy=0
if a=1050 : xx=-1 : yy=-1
if a=1200 : stop
await 1
loop
089589004/06/01 17:48ID:4wE+6E6V
>893
なるほど、そういうことですか。よくわかりました。
ありがとうございました。
0896名前は開発中のものです。04/06/01 19:01ID:gw1Pq8bg
>>894
同じような処理はまとめてやった方がいい。

screen 0,400,400 : cls 4 :x=200 : y=100 : xx=-1 : yy=1 : a=0 : aa=0
color 0,255,0
table_a = 50,150,200,250,300,400,450,500,550,750,800,900,950,1050
table_xx = 1,-1,-1,-1,1,-1,-1,-1,1,-1,1,-1,1,-1
table_yy = 0,1,-1,1,0,1,-1,1,0,-1,0,1,0,-1

repeat 1200
await 1
pset x,y : x+=xx : y+=yy : a++

if a = table_a.aa{
xx = table_xx.cnt
yy=table_yy.cnt
aa++
}

loop
loop
stop
089783504/06/02 00:30ID:9uqnafnG
やっと836さんのソース、概念まで理解しました(;´Д`)ゼーハー

次はこれに画像を載せてみます、>>893さんTHX!!
0898名前は開発中のものです。04/06/02 00:57ID:2CTwbJof
screen 0,400,400:cls 4:color 0,255,0

dim data,32
data=5,2,2,5,7,5,2,2,5,7,5,2,2,2,2,7,2,2,5,2,2,7,7,7
table_xv=0,1,1,1,0,-1,-1,-1
table_yv=-1,-1,0,1,1,1,0,-1
v=data.0:x=200:y=100

repeat 1200
await 1

if a=50 {
a=0
aa++
v=data.aa
}

pset x,y:x+=table_xv.v : y+=table_yv.v:a++

loop
stop

とか、ごめん蛇足のような希ガス。
0899名前は開発中のものです。04/06/02 01:39ID:c/2dYC5Y
段数と辺の長さを自由にしてみたyo

#define 段数  4
#define 辺    30

; 左から時計周りの進行方向を表現
way8x = -1, -1,  0,  1,  1,  1,  0, -1
way8y =  0, -1, -1, -1,  0,  1,  1,  1

; 辺が何本必要か求める
辺数 = 0 : repeat 段数,1 : 辺数 += cnt*4 : loop

; あらかじめ進行方向をセット
dim ways, 辺数 : ways.0 = 7 : n = 1
repeat 段数
  段 = cnt
  repeat 段+1*2 : ways.n = 4 : n++ : loop
  if 段+1<段数 : repeat 段+1*2+1 : ways.n = cnt\2=0*6+1 : n++ : loop
  m = 辺数-段数+段 : ways.m = 1
loop

; 描画
boxf : color 0, 255, 0
x = 300 : y = 100 : c = 0
repeat 辺数 * 辺
  if (cnt\辺) == 0 : way = ways.c : c++; 1辺描くごとに進行方向を変える
  pset x, y : x += way8x.way : y += way8y.way
  wait 1
loop
stop
0900名前は開発中のものです。04/06/02 12:14ID:qkG6UdlN
900get
0901名前は開発中のものです。04/06/02 17:56ID:R0QbJQN+
しつもんです。
HGIMGxとZGPでは、2D描画性能はどちらが速いでしょうか。
0902名前は開発中のものです。04/06/02 21:35ID:JMXK4G2m
HGIMGx
0903名前は開発中のものです。04/06/02 22:28ID:woPRSC2y
>>901
その速さを比較するプログラムを組めばどうかな?
聞いて、はいそうですか、でもいいけど、それなら好きな方を選べばいいことになる。
0904名前は開発中のものです。04/06/02 22:43ID:2CTwbJof
HGIMGxのBG描画早く修正されないかなぁヽ( ´ー`)ノ
0905名前は開発中のものです。04/06/02 22:55ID:h8DVMXdz
BG描画ってあれどういう機能?
0906名前は開発中のものです。04/06/03 03:39ID:2Locu/g3
>>905
見たほうが早いかも。ヽ( ´ー`)ノ

こんなの
  ↓
http://gamdev.org/up/img/657.zip
090790504/06/03 05:10ID:fKaoDXRG
>>906
ありがとう。
理解するのに時間かかったw。

要するにBG用画像を一括で読み込んでチップに分解して、それを
メモリ上に並べたものを1枚のスクリーンとして管理できるのね。
0908名前は開発中のものです。04/06/03 07:09ID:fKaoDXRG
ところで>>901の実験をしようと思ったのだが、HGIMGとZGPの数の扱いが
あまりにも違うんで投げてしまったよw
0909名前は開発中のものです。04/06/03 16:25ID:2Locu/g3
>要するにBG用画像を一括で読み込んでチップに分解して、それを
>メモリ上に並べたものを1枚のスクリーンとして管理できるのね。

その説明が出てこなんだ。orz
0910名前は開発中のものです。04/06/03 17:10ID:Csya0iV3
HGIMG、2Dで使う時って浮動少数点関係が煩わしいだけなんだよなあ…
自動移動とか使わなければ良いのか。
0911名前は開発中のものです。04/06/03 17:55ID:jBA+ZaIW
directXでの敵の複雑な動きって
時間計ってes_aposとかes_adir、es_aimで変更させるのが一般的なの?
もしかして毎フレームes_pos使って変更してた俺って間違ってた?
0912名前は開発中のものです。04/06/03 18:12ID:wk9jeawD
>>911
別にどっちでも良いんじゃ…。
俺は併用。
0913名前は開発中のものです。04/06/03 19:24ID:BCjqcCMV
>>911
漏れもかえって面倒に感じるから
es_posしか使ってませんよ。
フレーム単位で把握しやすいし。
0914名前は開発中のものです。04/06/03 20:26ID:t37wOydi
弾みたいな直線運動するものはes_apos使うけど
他はes_posかな
0915あみじ房 ◆HSP.RPGgiU 04/06/04 02:30ID:Ad6FpUV4
スプライト勝手に移動機能と
es_draw&sincは別にして欲しかった・・・。
0916名前は開発中のものです。04/06/04 02:55ID:5nJ/qNwH
naze?
0917名前は開発中のものです。04/06/04 06:31ID:pornY+KK
HSPDXでのゲーム作りしていて欲しくなった命令。
・画像回転だけでなくスプライトの回転機能(これはHSPDX+α使えば問題無いが)
・回転機能で回転する時に回転する中心を座標で指定できる命令
・.スプライトの画像が反転できる命令
・色違いのスプライトキャラが簡単に表示できる命令
誰か作ってくれないかなあ。
0918名前は開発中のものです。04/06/04 12:39ID:llUQGnGo
>>917
                 ∴
                 ∴∵∴    ∴
     ∴∵∴          ∴∵∴  ∴∴
       ∵∴∵          ∵∴  ∴::: i^i_i^i_,‐、
               ∵:: .      ∵:.  ::/U::∪:`U ..::∵∴
      ∵∴∵         : . ..    :∵..::(つ/ ⌒ヽ).)  ∴∵
    ∴∵∴∵∴: : .    . :         : . | : | |   |    ∴∵
. : ∵∴∵     ....... :  .::___   . : | :∪ / ノ    ∴
.. : :∵      ....::  :: . :::::::∴∵∴\. :.:  | ∵| ||    ∵  ∵
.∴∵     ::..::   .:::::::∵∴∵∴∵:\:  |∵∪∪  . :     ∴∵
.∵      ∵::   :::∵:(・)∴∴.(・)∵. l  / . ∵ :: . :       ∵
∵    ∴∵::.   ::∵∴/ ○\∵∴ | /   ::        .∵
..    ∵∴::     .::::∵/三 | 三ヽ∵ |/....:∴::     .∵  ∵∴∵
.   ∵:..:.:/⌒ヽ::l⌒`i::..| __|__ │∵|...:∵::    .. :    ∴∵
.   :/⌒ヽ|  |;; ;|  |、.|  ===  │/∴::    . :    .∵∴  ∴
.  :(  ヽ;;ヽ__ノ;;; ヽ__ノ !\___/∵ :: . ... . :      .∵    ∴
..∴ >‐ / ̄.. \;;;;ゝ__`ト、.(●)━..:∴::        . :     . ∴∵∴
∴. ( : :/    ,. i〃    l  . . . . . . . . . . .... .. . :    ..:∵∴:
∴∵ ̄|    /.| |、l___ノ    _!_!         .∴:
  ∵  |   | :| |. |        ./∵∴゙i       . :     .:∴∵∴
      | |  |  | |. /.∴∵;;;;/‐‐| .∵∴ :: .. .... . :      .∴∵∴∵
      | | |  U.::、∴∵;;/;)  ゙i∵∴∵:: ... .. ... .. . : :∵∴∵
      | | |    :: . ̄ ̄ ̄   ゙i∵∴∵::.. ...::∴∵∴∵
     / / /      : . . .      ( ̄ ̄.... ::∵
    / / /      : :∴∵ : .    ̄.:∴:. tanasinn
   .しし’        :: :: ∵: : .
(「みんなで作ろうよ」と言っています)
0919名前は開発中のものです。04/06/04 13:42ID:5nJ/qNwH
>>917
IDがポルノ
0920名前は開発中のものです。04/06/04 18:33ID:Q29LMsSA
そういや先日HSPDXとZGPで弾幕作って速度テストしたんだが
全画面もウィンドウも二割程度ZGPのほうが速かったんだよな。
意外だった。
俺のスクリプトが変なだけかもしれんが。
0921名前は開発中のものです。04/06/04 23:15ID:RrVLqYOx
>>920
晒すよし
092292004/06/05 00:39ID:w/6SXOsG
>>921
ソースそのまま流用しちゃったのでパス。
むしろ他の人も実験して欲しいよ。

ちなみに、遅いマシンでやったら結果が逆転しますた。
0923名前は開発中のものです。04/06/05 07:06ID:YGDhsq6B
RPGっぽいマップで、通常はキャラを真ん中、背景をスクロールさせておいて、
壁際になったら背景を止めて自分だけが動くようにしたいんですけど、
マップのサイズgx,gyでキャラの座標がrx,ry、真ん中は315,225にすると
どんなプログラムにすればいいんでしょうか?
0924名前は開発中のものです。04/06/05 08:46ID:iuWvzqHf
>>923
移動時にマップ端との距離を計算しとけ
0925名前は開発中のものです。04/06/05 08:57ID:ew4MnbIO
>>922
DirectXはグラボに依存。バージョンによっても違うし。
後、CPUにも依存する(GPUに機能がついてない時のエミュレーション)。
0926名前は開発中のものです。04/06/05 18:35ID:YGDhsq6B
>>924
おお、割とうまくいきました。
092792304/06/05 18:35ID:YGDhsq6B
お礼を忘れてた・・・。
>>924
ありがとうございました。
0928名前は開発中のものです。04/06/06 08:07ID:kJiElBKy
エンターブレインのムック、やっと入手。
ヨドバシにもジュンク堂にも紀伊国屋にも無かったけどTUTAYAにあった、ヤレヤレ。

ざっと見たところ内容はクックブックをさらに解り易くした感じ。
アドベンチャーから始まって3Dまで簡単なゲームの作り方を説明していく。
おまけでちょっとしたFAQ(Q:ファイルが指定できない A:"\\"を使いましょう 等)
も載ってて初心者にはこれが1番解るかも。

1番の問題は入手が難しい事。
店頭在庫しかないし、ネットでも在庫僅かなとこが殆ど。
0929名前は開発中のものです。04/06/06 11:37ID:dPEYfMBS
わーーい! 彼女が出来た!!
俺がさあ
「おはよう」っていれると
「おはよう」って文字で返事してくれるんだあ!

「今日も仕事がんばる」って入力すると
「がんばってね」って言ってくれるしい

彼女は頭もよくてさ
「12×233÷55」とか入れるとすぐ答え返ってくるんだよねえ

あとは顔グラフィックとか返事のパターンをたくさん増やして、、、、
彼女の名前なんにしようかなあ〜

と、馬鹿キャラを演じてみるテスト。
グラフィックをどうすべきか・・・。
0930名前は開発中のものです。04/06/06 13:20ID:P4GotC8G
>>929
http://pie.bbspink.com/test/read.cgi/erog/1032797915/271-272
0931名前は開発中のものです。04/06/06 13:21ID:P4GotC8G
参考にするのはTIkegamiAkaneの実装な
0932名前は開発中のものです。04/06/08 16:11ID:D1OYtXOM
質問なんだが
今までプログラミング経験無しの漏れに
良いと思われるHSPの入門書って何かないだろうか?
立ち読みして選ぼうと思ってもHSPはなかなかないんだよね。
今のところエンターブレインのムックを買おうと思っているのだが。
0933名前は開発中のものです。04/06/08 16:50ID:rOYIEKHp
>>932
経験なしならムックかな?
12才から始めるHSPってのもあるが。(まだ出てないかも)
0934名前は開発中のものです。04/06/08 18:15ID:D1OYtXOM
ムックにするよ。有難う。

いくらなんでも12歳はな・・・(´д`;;)
0935名前は開発中のものです。04/06/08 21:03ID:wxYyNlw9
奮闘中の初心者。

簡潔に。


・キャラ移動のプログラム
・敵がキャラに向かってくるプログラム


この二つを同時に動かすためのヒントをくだされー
0936名前は開発中のものです。04/06/08 21:07ID:rOYIEKHp
>>935
STG,SLG、RPGとか、それぞれによって違うんだが?
0937名前は開発中のものです。04/06/08 21:11ID:xfAEecr/
意味不明。
二つのプログラムを同時に動かすってなんだ?
0938名前は開発中のものです。04/06/08 21:13ID:wxYyNlw9
簡単なARPGかなー。

STG,SLG,RPGによってどう違うんだろ・・・・

モジュール?とか言うの使うのかな。
0939名前は開発中のものです。04/06/08 21:25ID:vKD5eB1k
意味わからん出直してこい
0940名前は開発中のものです。04/06/08 21:29ID:wxYyNlw9
うはぁ・・・きっついなー

えっと、キャラを十字キーで動かすシステムができて
そのあとキャラを追っかける敵のシステムができたんだけど
このシステム二つを繋げただけじゃぁ同時に動かないっぽかったから
なんかいいやり方があるのかな、って。

見た感じ>>936さんは言いたいことわかってくれてるのかな。

もう少しサイトも回ってみよう。
0941名前は開発中のものです。04/06/08 21:34ID:ui+R/dcS
>940
システムってのが良くわからないが別々でちゃんと動いてるんだよね?
別に特殊なことはしなくても同時にできるが
具体的には
プレイヤーキャラの座標をキー入力で移動
プレイヤーキャラと敵キャラの位置を比較して近づける
両方の画像位置を更新
って感じでできるはず
0942名前は開発中のものです。04/06/08 22:06ID:3ZL3TRnA
>>940
>そのあとキャラを追っかける敵のシステムができたんだけど
できてるじゃん
0943名前は開発中のものです。04/06/08 22:17ID:xfAEecr/
1・キャラ動かす
2・描画
3・1へループ
ってプログラムと、

1・敵がキャラ追いかける
2・描画
3・1へループ
ってプログラムを同時に動かす
とかいう意味か?
そりゃ無理だあ。

1・キャラ動かす
2・敵がキャラ追いかける
3・描画
4・1へループ
ってやれ。
0944名前は開発中のものです。04/06/08 22:21ID:aJNbWfMa
>>940
敵と主人公が動いている場合、敵を動かすプログラムと主人公を動かすプログラム
が独立してて、2つが同時に動いている、というわけじゃないんだ。
敵をちょっとだけ動かして、次に主人公をちょっとだけ動かして、ということ
をループにして高速で繰り返すので、敵と主人公が同時に動いているように
見えるんだ。その辺は分かってる?
分かってないんなら、初心者用の本買うか初心者用のHSP講座見た方がいいな。
0945名前は開発中のものです。04/06/08 22:52ID:rOYIEKHp
普通、描画の更新は1フレームに一回だから同時に動くと言ったら同時に動くんだけどね。
見た目は。
0946名前は開発中のものです。04/06/08 23:37ID:kBN/QIMA
・キャラ移動のプログラムを「a.exe」
・敵がキャラに向かってくるプログラムを「b.exe」
とすると、

exec a.exe
exec b.exe

でそれっぽくなるんじゃない?
0947名前は開発中のものです。04/06/08 23:39ID:kBN/QIMA
ごめん、プログラム名を「"」でくくるの忘れてた。
レス数が900を超えています。1000を超えると表示できなくなるよ。