HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0126
イカタコa1,a2......a#を一気に表したい4解決


イカタコ

リンク

2015/1/26(Mon) 01:47:38|NO.67091

音ゲー製作中です。
で、降りてくる譜面的なのがあるじゃないですか。
(bemani,sdvx,太鼓の達人の右に90度回転版的な感じのです。
その全部のy座標にa1,a2,a3とふっていったのですが、それ全部に+20とかしてposで表示させて、全部の譜面が等間隔で流れて行くようにさせたいのですが、どうすればいいですか?

repeat
a(1~100)+20
pos x,a(1~100)
picload "落ちてくるやつ.png",1
wait 1
loop

したいのはこんな感じのことなんですが、やっぱりこんな変な変数の表し方はなくて....
どなたか教えてください!!
お願いします!!



この記事に返信する


SOU1

リンク

2015/1/26(Mon) 10:25:09|NO.67094

配列とrepeat/cntを使えば簡単に表記出来ます。
どちらもヘルプのサンプル程度で分かるかと思います。
また毎回picloadを行うのは大変処理が重たいので、
一度bufferに読み込んだ後gcopyするか、
hgimg3などの利用をオススメします。


余談ですが、音ゲーを作るのであれば
「各オブジェクトの次の位置を計算していく」のではなく
「現在時間より後のオブジェクトの位置を計算し、画面内なら描画する」という処理にしたほうが
色々と都合が良いです。



イカタコ

リンク

2015/1/27(Tue) 00:26:28|NO.67111

if barh1=1 & bpl=0{  ;barh1が1になったら譜面が流れるようにしたい。bplには次の譜面が流れゆる時間になったら0が代入される。
bartim1+1
bpl=1
}

repeat bartim1+1,0
bar1y(cnt) =1.0*bar1y(cnt)+4.5
pos 10,bar1y(cnt)
font "",150
mes "=="

loop

こんな感じで作っては見たのですが、posの部分に問題があるようで、"=="が動きません。
どうすればいいですか?



SOU1

リンク

2015/1/27(Tue) 14:42:04|NO.67113

スクリプト全体なのか一部なのかが分からなかったのですが、
とりあえず「何の為のrepeatなのか」「何を表しているcntなのか」が分からないと進まないと思います。
音ゲーを作るなら少なくとも「次の時間までの待機を含めたrepeat」と
「各オブジェクトの処理を回すrepeat」の2つくらいは必須なはずで、
前者ならcntは現在時刻、後者ならcntは「現在処理しているオブジェクト」になるかと思います。
このあたりが混ざっちゃってませんか??

老婆心ながら、音ゲーを作るのは若干厄介です(パズルとかアクションより少し難儀かも)。
ある程度正確な時間を把握する手段が必要ですし、
オブジェクトの数が増えるようであればmesやgcopyではとても処理が間に合わないです。
イカタコさんが今まで他にゲームを作った経験があれば出来るかとは思いますが、
いきなり挑むなどの場合にはかなり難易度が高いと思ったほうが良いかも。



イカタコ

リンク

2015/2/1(Sun) 23:52:34|NO.67219

ありがとうございました!
なんだか、dimをループの中にいれていて、cntの初期化がされてしまっていたようです。
解決です(≧∇≦)
音ゲー製作頑張ります!!



ONION software Copyright 1997-2023(c) All rights reserved.