単純にボールが跳ねる動作は、横方向(X)は
X=X+1
のように一定速度で移動。
縦方向(Y)は、縦方向の移動速度Vを別に用意して、
V=V+1
Y=Y+V
で実現できます。
で、地面で跳ねる場合は、速度の上下を逆転させて、
IF Y>200 THEN V=-V
のようにします。
0そうだね プレイ済み
色々と細かい動きをSPANIMで忠実に再現しているせいかもしれませんね~。
がんばってくださーい!
1そうだね プレイ済み
2次元配列だから、ではないです。
私の書いた「要素番号([]内の数値)を元に10x7の形にSPOFSされているのであれば」の話です。
FOR J=0 TO 6
FOR I=0 TO 9
SPOFS SP[I,J], I*16, J*16
NEXT
NEXT
のようにして画面表示いるのであれば、入れ替わるという意味です。
スプライト毎に座標の変数を持たせているなら、ただSP番号だけSWAPしてもダメですよ。
・・・文章で説明するとこんがらがりますね。
もう一度ご自身で整理して考えてみられた方が、自己解決できるかも。
2そうだね プレイ済み
2次元配列を使っていて、その要素番号([]内の数値)を元に10x7の形にSPOFSされているのであれば、
SWAP SP[0,0],SP[0,1]
で、もちろん位置も中身も入れ替わりますよ。
0そうだね プレイ済み
私の「そのSWAPをするなら~」はnobuさんのレスに向けてのレスですのでお間違えなく~。
0そうだね プレイ済み
そのSWAPをするなら、座標とSP番号を管理するやり方になると思います。
DIM SP[10,7]
SP[0,0]=1
SP[0,1]=2
みたいに持たせておいて、
SWAP SP[0,0],SP[0,1]
のようにするのもやり方の一つです。
(1次配列で「DIM SP[70]」でもいいと思いますが)
そういえば私のプロフにある「ANIPUZ」(ジグソーパズルみたいなの)はこのやり方をしてたと思います。
0そうだね プレイ済み
一応511個までは同時に動くので(スムーズではないですが)、スコア1桁ずつがスプライトでも30個程度っぽいので、遅くなることはないと思うんですけどね・・・・
スコア等の「SPOFS」はスコアが追加された時だけの実行にしていますか?
あとはデフォルトのXSCREEN 0 よりは、XSCREEN 1 の方が速いとプチコンファンミーティングの記事で見ましたよ~。
0そうだね プレイ済み
ドンちゃん、スコア、コンボ数など、毎フレーム動くわけではないものを毎ループ描画してしまっているとか?
0そうだね プレイ済み
私もプチコンを推奨します。
もし「あと1,2年で就職が・・・」とかなら実用経験も必要ですが、基礎を楽しく学ぶならプチコンは有意義だと思います。
というのは、私も他の言語は触りますが、最近の言語は特に開発環境を整えたり、開発アプリの操作方法で悩んだりします。エラーが出ても、それが自分が書いたソースのせいなのかアプリのせいなのかOSのせいなのか分からない事もあります。
プチコンは購入だけすればDSという安定したハードで開発できますし、操作法で悩むことも少ないです(BGを読み込んだりは少し特殊ですが)ので、開発や基本的なソースに専念できますし、初期の段階から「クラス」のような最初は理解が難しいものに振り回される事も少ないです。
個人的には何より「プチコンは手軽で楽しい」と思います♪
1そうだね プレイ済み
想像ですが、マインスイーパーのような面の「バクダン探し」をする感じでしょうか?で、見つけたら場所が変わってまた見つけて・・・を1分間に何回見つけられるか、みたいな?
もしそうだったら、SPを入れ替えなくても正解の値(10x7の座標)を別に持たせるとか、SPVARの値を正解だけ1にするとかのやり方もあると思います。
1そうだね プレイ済み
何度読んでもやろうとされている事が見えません・・・
SPCHR→見た目だけ交換、内容はそのまま
SWAPで座標入れ替え→見た目も内容も入れ替え
なのですが、どうなるのがやりたい動作なんでしょう?
SWAPで書かれている例がよく分かりませんが、私が書いたのは、
SPOFS SP1 OUT X1,Y1
SPOFS SP2 OUT X2,Y2
SWAP X1,X2
SWAP Y1,Y2
という意味です。SP1はタッチしたスプライト、SP2は交換対象(ランダムならRND(70)かつSP1とは別の番号)
1そうだね プレイ済み
SWAP X1,X2
SWAP Y1,Y2
だとだめなのかな?
2そうだね プレイ済み
なつかしい・・・私もそんな事してました。
グラフ用紙にドット絵書いたりね。
3そうだね プレイ済み
余りを求める「MOD」と、
割り算をした整数部分だけを求める「DIV」を組み合わせると、
時・分・秒が計算できまよ。
秒=A MOD 60
あとは・・・考えてみてください。
1そうだね プレイ済み
別に効率悪くはないですよ。それがコンソールというものです。
気になるなら、スプライトを使いましょう!どちらも正解です。
4そうだね プレイ済み
プログラムの最初に
CLS
を実行すれば消えますよ。
スマイルツールを起動したあと画面に色々残っている場合などは
ACLS
で全部きれいに消えます。
(質問の意図と違ってたらごめんなさい)
1そうだね プレイ済み
全体を見ていないので何ともいえませんが、パッと見でおかしい感じはないですし、敵が増減しないならSPFUNCでなくてもいいと思います。
559~566だけまとめられそうだったのでまとめてみました。
0そうだね プレイ済み
作り方によって変わってくるかも。
落ちてくる部品をスプライト(キャラ)で作るかコンソール(文字)で作るか。スプライトで作るなら、4つの塊を1つのスプライトにするか、4つのスプライトで描くか・・・
ちなみに「何か作ってみたい」程度なら、おっしゃる通り、「簡単そうに見えて難しい」部類かもしれません。
簡単なのはシューティングです。
1そうだね プレイ済み
おお、海上の敵が消えない以外はちゃんと動いてるっぽいですね。
沈没だけして黒くならず攻撃を続ける時があるみたいですが・・・沈没中に攻撃しちゃったからかな?
それにしても細かいところまで作りこんであってスゴイですね。
0そうだね プレイ済み