0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Scratch ライブラリ(疑似3Dスクロール)

Posted at

Scratch ライブラリ(疑似3Dスクロール)

G14 Great Fighter Jerrydog では疑似 3D スクロールを使ってダイナミックな動きを実現してみました。After Burner だし。また、先日 Time Trial On Edge という 3D レーシングも試しに作ってみました。ということで、ライブラリ化できたら似たようなもの量産できそう、という期待に胸を膨らませて、ライブラリ化です。

上記 2 作品はある意味試行錯誤だったのですが、その知見を踏まえ、かなりシンプルに仕上がってます。計算量も少なめにし、より使いやすくしました。

疑似3Dスクロール

プロジェクト

ここにあります。

image.png

Scratch 上だと英語の人が多いので、基本英語のプロジェクトにするようにしました。日本語での説明はこの Qiita の記事で。むしろこっちの方が情報量多いですし。

ライブラリ概要

以下、実現できます。Jerrydog でやってたことですね。しかもさらにシンプルな実装で。

  • スムーズな疑似 3D スクロール
  • 地面の回転
  • 任意のオブジェクト配置
  • 水平線位置(高さ)の動的な変更
  • スクロールスピードも変更可能

使い方

基本

グローバルに定義してある変数をコントロールします。詳細は「変数・リスト」参照。

各種情報

変数・リスト

In: 他スプライト管理の値を参照/Out: 本スプライトで設定

変数名 In/Out 概要
BG Horizon Angle In 水平線の傾き
BG Horizon Line In 水平線の Y 座標(Angle = 0 時)
BG Speed In スクロール速度

イベント

特になし

コスチューム

オブジェクトをスクロールに乗せる場合、コスチュームとして用意し、Add Object ブロックを使う。詳細は以下のサンプルとコード参照。

オブジェクトはこんな感じで用意。オブジェクトの下端が中心に来るように。

image.png

Add Object ブロックは以下の定義となっている。goal x は最下段での X 座標で、どこに向かっていくかを指定する。

image.png

サンプルでのコードはこんな感じです。

image.png


技術的な仕組みは別途触れる予定なので、ここでは省略(近々予定)。


Scratch ライブラリと Scratch Tips 目次へ戻る

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?