プチコン3号 SmileBASIC コミュニティトピックせかいをうったちまき yuitomann2015/09/13 14:21:25情報交換質問です。スライドパッドでスプライトを移動させるプログラムを作ったのですが、これだともの凄いスピードで移動してしまうし、画面外にもでてしまうし、設定した、移動できる範囲の端にぶつかると跳ねるように弾かれてしまうのですが、どうすればよいのでしょうか? ちなみに、移動できる範囲は、上下だけスプライト一個分(自分の前の投稿のコメントを見ていただければわかると思います。)の障害物があるので そこで止まるようになるように教えて頂けるとありがたいです。1そうだね 11返信プレイ済み2017/11/03 18:48:49に取得
プチコン3号 SmileBASIC コミュニティ返信[1]親投稿natto- natto-30302015/9/13 14:34速くなるのは移動処理の真ん中位にVSYNCをやればOK。2そうだね プレイ済み2017/11/03 18:48:49に取得
プチコン3号 SmileBASIC コミュニティ返信[2]親投稿あまさと しおん ShionAmasato2015/9/13 14:36*10とか*-10って書いてあるけど、言い換えればわざわざ「10倍速」にしてるんだよね。 だから、数字を小さくすれば遅くなるよ。 37行目からIF文が4つ書いてあるけど「画面から出さない」という動きになっていない。 だから画面から出ちゃうと思う。 あと、VSYNCっていう命令は使ってますか?1そうだね プレイ済み2017/11/03 18:48:49に取得
プチコン3号 SmileBASIC コミュニティ返信[3]親投稿ケイン KEIN.HORGAN2015/9/13 14:36ざっとみた感じ、跳ね返る理由は、 IF X>=45 THEN SX=SX-1 等の式にありそうですが…… これ、何を意図してるんでしょうか? 単純に移動させたくないなら、SX=0 とかにすれば良さそうなものなんですが。2そうだね プレイ済み2017/11/03 18:48:49に取得
プチコン3号 SmileBASIC コミュニティ返信[4]親投稿Hanzo rzsense2015/9/13 14:53画面外に出たりしないようにするには 1. 36~43行目の4つのIF文を消す。 2.48行目のSPOFSの直前に、次の2行を追加する。 X=X*(X>0 && X<45)+45*(X>=45) Y=Y*(Y>10 && Y<25)+10*(Y<=10)+25*(Y>=25) 1そうだね プレイ済み2017/11/03 18:48:49に取得
プチコン3号 SmileBASIC コミュニティ返信[5]親投稿あまさと しおん ShionAmasato2015/9/13 14:55本当は IF X>45 THEN X=45 みたいな感じでいいと思う。 あと、このIF文はX=X+SXの下に書くこと。 Yも同じやり方です。0そうだね プレイ済み2017/11/03 18:48:49に取得
プチコン3号 SmileBASIC コミュニティ返信[6]親投稿せかいをうったちまき yuitomann2015/9/13 17:03うーむ… ちょっとよく分からないので逆に聞きますが、このプログラムで、十字キー操作と同じ条件(範囲、スピードなど)でスライドパットでも操作出来るようにするにはどうすればよいのでしょうか?0そうだね プレイ済み2017/11/03 18:48:49に取得
プチコン3号 SmileBASIC コミュニティ返信[7]親投稿Hanzo rzsense2015/9/13 17:42ズバリ、添付のとおりです。 STICK OUTは2つの値を返しますが、どちらも値域は-1.0から1.0までの実数であり、絶対値はスライドパッドのスライド量、符号はスライド方向を表します。スライド量がある一定以上のとき、スライド方向に応じて十字ボタン押しと同じ処理を実行すればよいのです。2そうだね プレイ済み2017/11/03 18:48:49に取得
プチコン3号 SmileBASIC コミュニティ返信[8]親投稿あまさと しおん ShionAmasato2015/9/13 18:03面倒なことは考えずにSTICKをBUTTON()に変換するのもアリ1そうだね プレイ済み2017/11/03 18:48:49に取得
プチコン3号 SmileBASIC コミュニティ返信[9]親投稿せかいをうったちまき yuitomann2015/9/13 21:19むむむ~~~………!! 何かこのプログラムに追加するだけで動かせるようにするにはどうすればよいのでしょうか?0そうだね プレイ済み2017/11/03 18:48:49に取得
プチコン3号 SmileBASIC コミュニティ返信[10]親投稿Hanzo rzsense2015/9/13 22:05何か追加することでスライドパッドを動かせるようにするには、あまさと しおんさん方式(STICK OUTの応答をBUTTON()の応答に差し替える)が適切と思います。 具体的には、次の2行を、10行目の「B=BUTTON()」の直後に挿入してください。 STICK OUT STX,STY B=(B OR(#UP*(STY>0.3))OR(#DOWN*(STY<-0.3))OR(#LEFT*(STX<-0.3))OR(#RIGHT*(STX>0.3)))1そうだね プレイ済み2017/11/03 18:48:49に取得
プチコン3号 SmileBASIC コミュニティ返信[11]親投稿せかいをうったちまき yuitomann2015/9/13 22:25ありがとうございました! おかげさまで動くようになりました!1そうだね プレイ済み2017/11/03 18:48:49に取得