プチコン3号 SmileBASIC コミュニティトピックHMF gunsofthemy2017/08/29 14:17:33質問BGの衝突判定SPとBGがぶつかったことを判定させるにはどうすればいいんでしょうか。 ネットで調べるもどうやら計算で求めており、その上mk2版だったために質問しました。もうちょっといい方法はないのか・・・?1そうだね 18返信プレイ済み2017/11/03 17:16:34に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿DieMatsmot DieMatsmot2017/8/29 14:36つ[bgget] spの座標を渡せばあら不思議。1そうだね プレイ済み2017/11/03 17:16:34に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿ねこはかせ hgskdj26092017/8/29 17:37IF~THEN と BGGETの組み合わせで可能です。 もし、自キャラの座標位置のBGが、特定のBG番号だったら 衝突処理に飛ぶ…という感じですね。0そうだね プレイ済み2017/11/03 17:16:34に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿キルル2 kiruru22017/8/29 22:37プチコン3号ではBGGETという関数があります。 BG=BGGET(BGレイヤー、スプライトの位置、フラグ)として、 IF BG>=100&&BG<=200 THEN 衝突 ENDIF とすれば、BGとスプライトの当たり判定がとれます0そうだね プレイ済み2017/11/03 17:16:34に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿HMF gunsofthemy2017/8/30 15:52うーん。衝突判定はなんとかできましたがそっからがいかん。 というのも、今RPGっぽいやつを創ってるんですよ。それで壁に当たった場合、壁をすり抜けないようにしたいんだが出来ない・・・。てかアイデアはあるんですがなかなか上手くいきません。何か方法はありませんか?0そうだね プレイ済み2017/11/03 17:16:34に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿ねこはかせ hgskdj26092017/8/30 19:17プログラム処理だけでなく、マップ構成も『すり抜けないマップデザイン』にしてはどうですか。0そうだね プレイ済み2017/11/03 17:16:34に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿キルル2 kiruru22017/8/30 20:06普段はかべにぶつかっていない状態の場合 「移動したあとに壁にぶつかったら、移動する前は壁にぶつかっていなかった」と考えることができます つまり「動いた後に壁にぶつかったら、動く前の座標に戻る」というプログラムを組めば、大丈夫だと思います0そうだね プレイ済み2017/11/03 17:16:34に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿ネタバレDieMatsmot DieMatsmot2017/8/31 8:29キルルさんの案に加えて、自分の進行方向の座標を予め調べておくという手段もあります。まぁ、めんどくさいですが。0そうだね プレイ済み2017/11/03 17:16:34に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿ねこはかせ hgskdj26092017/8/31 9:08自キャラが16x16、中心座標が(8,8)の場合、中心座標から+8 または -8した座標に障害物があったら、自キャラの座標を変更させない。という感じで組んでみたらどうでしょう。ちなみに、中心座標から+10または-10 とか大きめに取ると、寸前で避ける挙動も可能です。0そうだね プレイ済み2017/11/03 17:16:34に取得
プチコン3号 SmileBASIC コミュニティ返信[9]親投稿HMF gunsofthemy2017/9/2 18:31【追記】 1. キャラの移動は背景となるBGを動かすことで行っています。 2. 一歩で8ドット進みます。 3. 現在、接触時入力方向制限タイプと、接触時座標修正タイプの2つを作成しています。(どちらも成功しておらず)0そうだね プレイ済み2017/11/03 17:16:34に取得
プチコン3号 SmileBASIC コミュニティ返信[10]親投稿キルル2 kiruru22017/9/2 20:11だとしたら自分の8ドット先(動いた後の座標)を予め調べて、壁があったら背景をスクロールしない(移動しない)でいけると思います0そうだね プレイ済み2017/11/03 17:16:34に取得
プチコン3号 SmileBASIC コミュニティ返信[11]親投稿DieMatsmot DieMatsmot2017/9/2 22:29stickで進む方向をチェック その方向のBGをチェック どっちもOKなら進行 これでいいのではないかな0そうだね プレイ済み2017/11/03 17:16:34に取得
プチコン3号 SmileBASIC コミュニティ返信[12]親投稿HMF gunsofthemy2017/9/3 10:57予め調べてってそんなことできるんですか!? 今の技術では接触時に処理することしかできないので、 接触判定(true)→座標修正→表示 という流れです。てか全部このシステムです。 すいませんが、その「予め調べる」の方法を具体的に教えていただけませんか? 発想力? あぁ、アイツはいいやつでしたよ(´;ω;` )ブワッ0そうだね プレイ済み2017/11/03 17:16:34に取得
プチコン3号 SmileBASIC コミュニティ返信[13]親投稿ねこはかせ hgskdj26092017/9/3 11:35自キャラ(スプライト)の座標+8(またはー8)をチェックすれば、 あらかじめチェックしてる事になりますよね。 1)キー入力 2)自キャラのX,Y座標の進行予定方向に向かって+8(または、-8)のBGをチェックする。(予めチェック) 3)障害物があれば、BGOFSで スクロール禁止。 こんな感じで出来るんじゃないですか0そうだね プレイ済み2017/11/03 17:16:34に取得
プチコン3号 SmileBASIC コミュニティ返信[14]親投稿ねこはかせ hgskdj26092017/9/3 11:40+8 (または、-8)の部分をもっと大きくすれば、接触より遥か前に BGの状態を知ることができる。つまり視界の表現技法にも使えます。 実際、私が作った『ロード・チェイサー』という車のゲームでは、 敵車から遥か先のBGをチェックさせて、事前に障害物を避けるよう プログラムしています。(つまり未来の進行予定方向を予めチェックさせている)0そうだね プレイ済み2017/11/03 17:16:34に取得
プチコン3号 SmileBASIC コミュニティ返信[15]親投稿キルル2 kiruru22017/9/3 12:06ねこはかせさんの発言の通りです 「動いて壁にぶつかったら座標修正」でも「動いた先に壁あるなら動かない」でも、どちらでも大丈夫かと (自分の座標+動く量)が動いたあとの座標となり、(自分の座標+動く量*n)とすれば、遠くの壁を検知できます0そうだね プレイ済み2017/11/03 17:16:34に取得
プチコン3号 SmileBASIC コミュニティ返信[16]親投稿HMF gunsofthemy2017/9/3 16:51はい、なんやかんやありましたが結局こうなりました。(もはや意味不明) 12個の判定を使い、BGの隣にいるのか、またどこにいるのかを測定し、入力制限をかけることになりました。 もっと効率的な方法があるんだろうな~(泣)0そうだね プレイ済み2017/11/03 17:16:34に取得
プチコン3号 SmileBASIC コミュニティ返信[17]親投稿HMF gunsofthemy2017/9/9 19:47それでは閉めます。ありがとうございました!!0そうだね プレイ済み2017/11/03 17:16:34に取得