投稿
もふもふ Dice1000
複数のスプライトを同時に動かす場合に、たとえば1秒に1歩動かしたいキャラや3歩動かしたいキャラがいる場合に、VSYNCの違いを使って設定したんですが遅いキャラの処理が終わるまで操作不能になるのを修正したいんですがどうすればいいですか。1キャラずつしか動かせないのを修正したい、とゆう方が正しいのか、1コアを3コアや30コアにしたい、とゆうか、うまく説明できませんが。
4そうだね
プレイ済み
返信[1]
親投稿
printf printf
ループを一度回る度に+1歩のキャラと ループを三度回ったら+1歩のキャラ という風に処理を制御するのはどうでしょう?
1そうだね
プレイ済み
返信[2]
親投稿
それぞれの座標の移動量を設定して、移動すればいいのでは?
0そうだね
プレイ済み
返信[3]
親投稿
公開してどこがおかしいのか調べてもらったらどうかな
0そうだね
プレイ済み
返信[4]
親投稿
言語系にマルチスレッド命令があるわけじゃないので、基本的には1VSYNCの間に複数のキャラを一歩だけ動かすようにして、その移動量に差をつけるか、遅いキャラクターは2回に1回動くようにするなどして全体として動かすような処理をしていく必要があると思います。 まあ上の二人が言ってる事と同じですが…
1そうだね
プレイ済み
返信[5]
親投稿
もふもふ Dice1000
ん~~、それはFOR3回で入力と普通に入力みたいな感じでしょうか。お恥ずかしながら合ってるのか間違ってるのかこんなプログラム組みました。32ドットずつのコマ送りみたいに動かしたいわけです。VSYNCがすごい事に・・・。とんでもなく遅いテンポのゲームで、操作入力だけ普通のスピードとゆう感じで。
0そうだね
プレイ済み
返信[6]
親投稿
ねこはち neko80001
ループ内にカウンタを設定するといいです。 A=A+1 AND 255 IF (A MOD 3)=0 THEN 3フレームに一回だけ動くキャラの処理 みたいな感じで。
0そうだね
プレイ済み
返信[7]
親投稿
もふもふ Dice1000
ん!!何かわかった。1VSYNC毎に1溜めていって60ループして60になったら1回動かせばいいわけですね!GOSUBでの引っ越しが異常に忙しそうですができるかも。
2そうだね
プレイ済み
返信[8]
親投稿
もふもふ Dice1000
ん!!MOD....。ちょっと色々やってみます。みなさんありがとうございます。
2そうだね
プレイ済み
返信[9]
親投稿
ちょっとオマケ情報。 カウントに便利なシステム変数MAINCNTってのがあるみたいです。これを使えば自分でカウンタを作らなくても常にカウントされていますね
1そうだね
プレイ済み
返信[10]
親投稿
ねこはち neko80001
>>でんぺんさん まじっすか! なんちゅー便利なBASICやねん!
0そうだね
プレイ済み