変数を使わずにに変数を使う - プログラム素材制作者向け -
前置き
先日「ちぇりー式スライドエンジン」という作品をScratchにて共有しました
素材として配布してるので、自由につかってね
スライドエンジン、カメラコントロール、イージング素材、テキストエンジンなど…プログラム素材を配布するとき、できるかぎりシンプルで、他のスプライトに干渉しないプログラムを組むことが大切です。
例えば、デフォルトで150個のクローンが生成されたり、
20個くらいメッセージを使用していたり、
変数が50個くらいあるプログラムだったら…
はっきり言ってクッッッッッソイライラするよね たぶん
なぜなら他の動きをプログラミングするとき邪魔だからです
てなわけで、プログラム素材には、「他スプライトやスクリプトに干渉しない、一つのプログラム内で完結する」ってのが結構重要視されるわけです
できるだけ使う変数やメッセージの数を少なくしたり、
1S1Sで動作するプログラムを書いたりしてる人が多いのはこのため。
たいていの人は、変数の代わりにリストを使うことで、
変数の数を抑えてると思う
2つ以上の変数を使わないといけないプログラムは、
この方法を使うのがかなり有効だと思う
ただ、必要な変数が1つのみなら、
もっといい方法があるので教えましょう
変数ではないけど、
変数と同じ役割ができるブロックってわりとたくさんありまして
代表的なのが「座標」
アホらしいと思うかもしれないけど、これ結構重要なアイデアで、
変数を2つまでしか使わず、プログラムに座標は関係しないスクリプトだったら、変数をひとつも使わずにプログラムが組めます
「それだと、変数に入る値が-240~240のときしか使えないじゃないか!」
っと思ったひとはこうしてみてね
他にも工夫すれば、正の数や負の数も区別せず使えるようになります
こんな感じで、代用できるプログラムをのせていくよ
代用案一覧
座標
さっき説明したので割愛
向き
180と-180がつながってるので注意
「回転方法を(回転しない)にする」ブロックで
見かけ上の向きは固定できる
コスチュームの番号
整数のみ、0は非対応。
大きさ
正の数のみ
音量
正の数のみ
おわり
こんなもんですな
ちなみに、最初に紹介したスライドエンジンでは、
向きのブロックを変数の代替として使用しています
音ブロックを使わないのなら 音量、
スプライトが常に表示されないなら 大きさ、
向きが固定なら 向き
基本はこんな感じかな?
よき素材制作ライフを。
では。