トピック
ハル hamacyan1127

馬鹿な俺を上級者様達がご教授する所

昨日、いろんな人のおかげでキャラを動かすことができました♪ 教えてくださった皆様方、ありがとうございます。 で、今日聞きたい事は2つあります。 ・自作SPの使い方 ・当たり判定の作り方 毎度毎度すみません。
3そうだね
プレイ済み
返信[1]
親投稿
ぼくは初心者だが答えられるとこあるw 自作SPの使い方は LOAD "GRP4:ファイル名",0 自作BGの使い方は LOAD "GRP5:ファイル名" です!!!
2そうだね
プレイ済み
返信[2]
親投稿
ハル hamacyan1127
たいようさんありがとうございます! わからない所があればまた聞くかも知れませんがやってみます。
2そうだね
プレイ済み
返信[3]
親投稿
ロードしたらスマイルツールに自作のSP,BGが表示されているはずです! 普通にSPSETで表示できます!
1そうだね
プレイ済み
返信[4]
親投稿
ハル hamacyan1127
ロードしてSPSETしても表示出来ません。どうすればいいですか?スマイルツールにはロードされてます。
2そうだね
プレイ済み
返信[5]
親投稿
??? プログラム内でロードしましたか?? もしSP 0番にしていたら SPSET 管理番号,0 で出ます。
1そうだね
プレイ済み
返信[6]
親投稿
ハル hamacyan1127
ありがとうございます!プログラム内でやってませんでしたw 次、解る方いたら当たり判定の作り方教えて下さい。 動かす時に画面外にいくので...
2そうだね
プレイ済み
返信[7]
親投稿
当たり判定のつけかたは知りませんが画面外に行かないようにするのならIF THEN を使います。 ネットで プチコン3号アクション とやるとアクションゲームを作るまでとかいうのが出ますw そこに画面制御(?)がありますww!
1そうだね
プレイ済み
返信[8]
親投稿
つばさ☆ nsm2116
画面外にいかないようにするの、IF THENもありますがMIN関数、MAX関数を使う方法もあります。
2そうだね
プレイ済み
返信[9]
親投稿
つばさ☆ nsm2116
何の当たり判定ですか? BG?SP?CONSOLE?GRP?
1そうだね
プレイ済み
返信[10]
親投稿
ハル hamacyan1127
覚えやすい方でお願いします。 あと、これから外出するので返信遅れます
2そうだね
プレイ済み
返信[11]
親投稿
ハル hamacyan1127
SPです。
2そうだね
プレイ済み
返信[12]
親投稿
つばさ☆ nsm2116
IFはもしも~なら~ THEN 処理をするです。 IFの意味は分かりますか? SPとSPの当たり判定は SPCOLでまず当たり判定します宣言的なのをかならずします。 そのあとSPHITSP(管理番号,相手管理番号)です。これもIFで判定しましょう。管理番号、相手管理番号の両方にSPCOLをしなければいけません。 SPHITSPだけでなくSPHITRCもありますが。四角判定なので多分SPHITSPの方が使いやすいです。
1そうだね
プレイ済み
返信[13]
親投稿
つばさ☆ nsm2116
何もない場所にぶつかった場合の判定は、 IF SPのいる場所X座標>始点X座標 && SPのいる場所X座標<終点X座標 && SPのいる場所Y座標>始点Y座標 && SPのいる場所Y座標<終点Y座標 THEN 処理 です。 IFは&& || AND ORで条件式をつなげれます。ANDとORはビット演算子で使われるのでつなげる場合は&& ||でいいでしょう。&&はこれとこれの条件が満たされていたら処理を行う。||はこれとこれのどちらかの条件が満たされていたら処理を行うです。
1そうだね
プレイ済み
返信[14]
親投稿
つばさ☆ nsm2116
忘れてましたが画面外に行くのはコンパクト(プログラムの行)少なめでできるのはMIN関数,MAX関数です。最初はあまりMIN,MAXは使いませんので頭のどこかに置いておけばいいですw IFの方が恐らく理解しやすいと思います。 上画面のスクリーンはX座標が0~399で、Y座標は0~239です。 XSCREEN 0,1,2,3の場合です。 下画面のスクリーンはX座標が0~319でY座標は上画面と同じで0~239です。 てことは IF キャラクターのX座標が0よりしたなら THEN キャラクターのX座標を0にする。というのを作ります。
1そうだね
プレイ済み
返信[15]
親投稿
つばさ☆ nsm2116
画像の感じです。(MIN,MAXの場合) なぜ399じゃなく384なのかは SPは16×16ですが原点は左上ですので399になるとスクリーンの一番右になってしまいます。分かりにくいと思いますが、画像の384を399にしたら分かると思います。Y座標も同じです。
1そうだね
プレイ済み
返信[16]
親投稿
つばさ☆ nsm2116
スプライトが3×3の大きさで説明すると SPOFSでしている座標がここになるので399に行くと `|こうなるわけです。(`はキャラクターの左上の原点。|はスクリーンのX座標399) ↓ ・・・ ・・・ ・・・ 前のトピックを見ていないのでどこまで知っているか分かりませんが、とりあえず説明しました。
1そうだね
プレイ済み
返信[17]
親投稿
ちなみに聞きますが、自分が、敵の弾、又、敵に当たったら一発即死判定ですか?
2そうだね
プレイ済み
返信[18]
親投稿
SPHITRCというものもありますよ。 指定した四角形のなかにSPがあたったか判定できます。 あとSPに当たり判定をつけるには、SPCOL命令が必要です。
2そうだね
プレイ済み
返信[19]
親投稿
どっちも既出でした。 すみません。
2そうだね
プレイ済み
返信[20]
親投稿
ちなみに自作SPでもサイズが違ったら、SPDEFが必要です。 SPDEFはSPSETとちがい、定義番号を定義するものです。
2そうだね
プレイ済み
返信[21]
親投稿
ハル hamacyan1127
む、難しい...でも、試行錯誤してみます! ありがとうございました。
3そうだね
プレイ済み
返信[22]
親投稿
ハル hamacyan1127
たいようさんが勧めてたサイトを見てやったんですがやっぱり外に出ていきます。解決方解る人が居ればお願いします。
2そうだね
プレイ済み
返信[23]
親投稿
12行目を if x<=-1 then x=0 13行目を if x>=384 then x=383 で、行けると思います。
2そうだね
プレイ済み
返信[24]
親投稿
ハル hamacyan1127
オワたずさんの方でもやりましたが出来ませんでした...
2そうだね
プレイ済み
返信[25]
親投稿
つばさ☆ nsm2116
↑じゃなくて 変数名見てみ。XじゃなくてSXね。 あとY座標の判定もしましょう。 IF SX<0 THEN SX=0 IF SX>384 THEN SX=384 IF SY<0 THEN SY=0 IF SY>223 THEN SY=223 です。XをSXに置き換えよう。
2そうだね
プレイ済み
返信[26]
親投稿
つばさ☆ nsm2116
説明入れると XとYはスティックの入力されている値ね。スティックは約0.8,-0.8ぐらいしか数値が入らないよ。
1そうだね
プレイ済み
返信[27]
親投稿
そうやんw x、yってスライドパッドの方やんw
2そうだね
プレイ済み
返信[28]
親投稿
ハル hamacyan1127
ありがとうございます!出来ました! あと、当たり判定の宣言とかってメインループの中でやるんですか?
2そうだね
プレイ済み
返信[29]
親投稿
ループしてなくても大丈夫です。
2そうだね
プレイ済み
返信[30]
親投稿
しかし、spsetの後に必ずやってください。
2そうだね
プレイ済み
返信[31]
親投稿
サチ N.Tanaka
よ  う  オ  レ
2そうだね
プレイ済み
返信[32]
親投稿
ハル hamacyan1127
い  つ  も  の
2そうだね
プレイ済み
返信[33]
親投稿
2そうだね
プレイ済み
返信[34]
親投稿
サチ N.Tanaka
k t k r ※前トピからのテンプレ
1そうだね
プレイ済み
返信[35]
親投稿
ハル hamacyan1127
現状報告 当たり判定作ろう!     ↓ 作るにはSPが必要     ↓ SP作り楽しいな←今ココ
2そうだね
プレイ済み
返信[36]
親投稿
サチ N.Tanaka
それな いつの間にか プログラミング<SP はいこれ多分初心者あるある
0そうだね
プレイ済み