プチコン3号 SmileBASIC コミュニティトピック受付中shoum shoum04032017/07/28 14:44:59質問スプライトについて横スクロールアクションゲームを作るときに、スプライトを多用すると思うのですが、プチコンでは512個まで?しか使えないらしいです。地面の描写はBGでするとして、各ステージごとに敵とかブロックなどをSPRITEで配置すると512個なんてあっという間にたどり着く気がするのですが、なんか工夫とかして512個以上使えるようにする方法なんてあるのでしょうか?1そうだね 11返信プレイ済み2017/11/03 17:19:55に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿TTcreation TTSOFT2017/7/28 15:28指定範囲外のスプライトを消して すぐに次のスプライトを読み込むように処理してみては?1そうだね プレイ済み2017/11/03 17:19:55に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿だにえる haru2016nen2017/7/28 15:29画面に表示される分だけの SPを使えばいい。 スクロールすると敵が復活するような ゲームは基本そうやってるんじゃないかな。 初代スーパーマリオだって 横に進む度にステージを読み込んでたよね。3そうだね プレイ済み2017/11/03 17:19:55に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿shoum shoum04032017/7/28 15:36スプライトを消すとはどういう事でしょうか0そうだね プレイ済み2017/11/03 17:19:55に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿だにえる haru2016nen2017/7/28 15:40っSPCLR1そうだね プレイ済み2017/11/03 17:19:55に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿しんいち stgf10802017/7/28 15:54スプライト512個までっていうのは、画面内(とも限らないけど)にいっぺんに表示できる最大数なので、一度に表示する数だけをSPSETしとくようにすれば、そうそう足りなくなることは無いと思います。 横スクロールアクションですと、同じデザインの敵キャラで、出現位置だけ異なる(画面内に同時に現れない)のであれば、いちいち新たな番号を割り当てず、同じ番号のスプライト使うとか。1そうだね プレイ済み2017/11/03 17:19:55に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿こういち driton2017/7/28 16:06SPCLR使いまくると、管理番号の管理が面倒になるので、SPSET OUTと使うのがおすすめです。(理想を言えばSPFUNCも) 本題 スプライトを動かしたりしないのであれば、グラフィックという手もあります。 スプライトをグラフィック画面に描写するには、おちゃめさんのGPUTSP命令が便利です。 まぁ。前の方が仰る通り、必要以上に出さなければ、そうそう尽きることは無いと思います。5そうだね プレイ済み2017/11/03 17:19:55に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿say sayer.exe2017/7/28 19:20杞憂 そんなこと考えるより、落とし穴の処理を考えたほうがいいよ これの意味がわからないんなら、 「スクロールアウトしたスプライトは表示する必要がない」 でもいいよ 3そうだね プレイ済み2017/11/03 17:19:55に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿TERA(LL) tera04132017/7/28 23:15確かに同時表示は512個までですが、SPDEFでキャラクタ定義は4096個も用意できるので、SPCHR使えば、そうそう足らないという事は無いと思いますが・・・ (どちらかというと512個の制限より512x512ドットにいくつのキャラクターを詰め込めるか の方が難しいかも?)2そうだね プレイ済み2017/11/03 17:19:55に取得
プチコン3号 SmileBASIC コミュニティ返信[9]親投稿ネタバレBlackSoft BlackSoft.mkII3g2017/7/29 0:06画面外に出たスプライトについては何も処理せずに使い回す、という手法もあります。 例えば、管理番号0~9の10個を使う場合。 画面外に出たものは処理せずに放置します。ステージが進むと、敵が次々出てきますが、割り当てる管理番号を ID=(ID+1)MOD 10 で次々SPSETしていきます。 上の式では、IDが0~9の値を繰り返す事になりますが、画面内に表示されているスプライトが最大10個であれば、表示中に消えたりせず、うまい具合に「使い回し」ができます。 画面外に出ているスプライトについては、当たり判定等の処理をしないように気を付けないといけませんけどね。 こういちさんの「SPFUNC」と組み合わせて使う手法は、もうちょっと基本的な機能を把握してからの方がスムーズに理解できるかもしれませんね。2そうだね プレイ済み2017/11/03 17:19:55に取得
プチコン3号 SmileBASIC コミュニティ返信[10]親投稿ネタバレBlackSoft BlackSoft.mkII3g2017/7/29 1:12↑の手法は、ゲームの主要キャラには向いていませんね。失礼しました。 管理番号を意識しなくても良いキャラクタには使えます。例えば、 シューティングで弾が当たった時の爆煙アニメだったり レースの砂煙だったり。 主要キャラについては、皆さんが言うように、画面外に出たものはSPCLRで削除するのが良いでしょう。2そうだね プレイ済み2017/11/03 17:19:55に取得
プチコン3号 SmileBASIC コミュニティ返信[11]親投稿キルル2 kiruru22017/7/31 16:04スプライトの数を増やせるDEF集を作りました 【NRWDKEHD】 SPSETやSPOFSといった命令の後ろに2を付けることで使えます(SPSET2,SPOFS2) また、表示にはFLIPというDEFを実行する必要があります もし良ければ使ってください0そうだね プレイ済み2017/11/03 17:19:55に取得