ちょっと気分を変えるため。。。
<マリオ その1>としたが、その2、その3が続くかどうかはわからない。
その1で終わりとなる可能性もある( ˃̣̣̥ω˂̣̣̥ )。
以下YouTuber Azaotl のビデオを見て、キャラクターがジャンプしたりしてお宝を獲得していくようなゲームが作りたいと思った。
Mario run Game for App Inventor | Scrolling background part 01
背景を動かし、キャラクターを動かすまでは、このビデオ通り作っていけばいいのだが、障害物にジャンプして飛び乗ったりするにはどうすればいいのか????
そして、試行錯誤の結果、流れてくる丸太(?)に飛び乗るところまでは出来た。Tutorials Azaotl のビデオチュートリアルに随分助けられながら。。。(キャラクターはネットよりダウンロードしたものなので、copyrightの問題あるのかどうかちょっと気になるが。。。YouTubeのチェックはパスしたが。。。)画面をタップしたらジャンプするようになっている。
ポイント:
1. キャラクター:"spritesheet mario walking"でググって問題のなさそうな画像を選び、ダウンロードし、画像アプリ(Affinity Photo)でキャラクターを切り取って作っていくことになったが、苦労した。私の場合、歩いている感じが出るように11個のpngファイルに切り分けた。
同じくAzaotlさんのYouTubeを見ながら作った。
Mario run Game tutorial for App Inventor | getting mario sprites part 02 | gimp
2. Azaotlさんは全てプログラム(ブロック)で設定していくやり方なので非常に面倒だった。ブロック数も多くなるし。
3. 飛び乗るところのブロックは以下の通り。この部分のみ(ここだけ!!!)オリジナルなので紹介。
Canvas componentの上にImageSpriteとしてキャラクターと丸太を配置しているが、x, y座標の0, 0は左上端。丸太は、幅がscreenの3倍の幅を持つCanvas上を左から右へ移動する。
丸太が左から右へ移動するが、キャラクターが丸太の下を歩いている間はジャンプ出来ないようにした。(ブロックが長いので二つに分割した。)
即ち、こういうことか。自分で作ったが、頭が混乱し、これで良いのかもわからない。でも、動く!
また、キャラクターがジャンプして、落ちていく時に丸太(blockSprite)と衝突したら、キャラクターの位置は丁度丸太の上になるようにした。
丸太(blockSprite)との衝突(接触している状態)が解除されたら、また地面を歩くようにキャラクターのy座標を元に戻す。
4. 当面は、敵と出会った時の対応をどうするか(回避策はあるか?)、丸太の上にお宝を置いておいてゲットしたらポイントを取得するとか、その他色々考えてみたい。チュートリアルもたくさんあるので参考にしつつ、時間がかかっても少しでもオリジナルなものにしていきたい。(オリジナルなものにするには、あまりチュートリアルを見ないことだが)
これを作って、背景がスクロールするゲームの作り方の「基本の基本」のようなものが少し理解したように思える。(楽観的だが)大きな収穫。大宇宙でエイリアンを迎え撃つようなゲームもできるかな???この時のスクロールは上から下の方向になるのかな?後方より前方へスクロールさせることができれば最高なんだけど(ImageSpriteのz軸を使う感じ)。
アイデアだけは少し出てくるが、実現できるかは?という感じ。でも、こちらは後期高齢者で時間だけはた〜っぷりあるので(成仏するまでという制限はあるが)。。。心配していない。。。
まあ、自分ですべてコーディング(ブロックでコーディング)したのではないが、一応自分のアプリでもあり、タップするとジャンプし、丸太に飛び乗ったり、楽しい。