提供:Japanese Scratch-Wiki
このきじは ひらがなでよめません。ごめんなさい。編集者向け:作成する
この項目は、書きかけの項目です。この項目に加筆・訂正などをしてくださる協力者を求めています。
|
このチュートリアルでは、Scratchで3次元パターンを作成する方法について説明する。
3DはScratchでどのように機能するか?
Scratchは主に2Dプロジェクトを対象としているが、スクラッチを使用して3D効果を作成することもできる。これは、x、y、およびz座標を使用してその位置を見つける点を投影することによって実行できる。これを行うには、ペンブロックとカスタムブロックを使用する必要がある。
メインスクリプトの作成
まず、次のようにいくつかのカスタムブロックを作成する:
定義 リセット 定義 描く
その後、このスクリプトを作成し、
緑の旗が押されたとき ペンの色を ((1) から (100) までの乱数) にする リセット :: custom ずっと 全部消す 描く :: custom [デルタ v] を (1) ずつ変える end
上記のスクリプトは、プロジェクト内のすべてを起動するループである。
変数の準備
次に、変数を準備します。リセット::custom
カスタムブロックでこのスクリプトを行う。
定義 リセット [角度 v] を [0] にする [A v] を [220] にする [B v] を [160] にする [r1 v] を ((1) から (100) までの乱数) にする [r2 v] を ((1) から (100) までの乱数) にする [デルタ v] を ((1) から (90) までの乱数) にする x座標を ((A) * ((((角度) * (r1)) + (デルタ)) の [sin v]::operators)) 、y座標を ((B) * ((((角度) * (r2)) + (デルタ)) の [cos v]::operators)) にする ペンを下ろす ペンの太さを (50) にする
リセットブロックもパターンを作るので便利だ。
メモ:
簡単にアクセスできるように、r1変数とr2変数をスライダーにする。
描画スクリプトの作成
次に、カスタムブロックのコードを作成します。このブロック(描く::custom
)はより複雑になる。
定義 描く 表示する 全部消す ペンを下ろす (360) 回繰り返す x座標を ((A) * ((((角度) * (r1)) + (デルタ)) の [sin v]::operators)) 、y座標を ((B) * (((angle) * (r2)) の [cos v]::operators)) にする ペンの太さを (((((1000) - ((A) * ((((角度) * (r1)) + (デルタ)) の [sin v]::operators))) - ((B) * (((角度) * (r2))の [cos v]))) / (150)) の [絶対値 v]::operators) にする ペンの [明るさ v] を ((-0.5) * (((A) * ((((角度) * (r1)) + (デルタ)) の [sin v])) - ((B) * (((角度) * (r2)) の [cos v])))) にする [角度 v] を (1) ずつ変える (10) 歩動かす
立方体を作画する
立方体の作画には
(x) (y) (z) 定義 移動(x)(y)(z)
これらブロックが必要だ。 まず定義を作成する
定義 移動(x)(y)(z) x座標を (((x) / (z)) * (480)) 、y座標を (((y) / (z)) * (480)) にする
次に、このスプリクトを作成する
@greenFlag が押されたとき::events hat ペンを上げる ペンの色を [#000000] にする ペンの濃さを ((z) - ((((z) * (-1)) - (5))の[絶対値 v]::operators)) にする 移動 ((5) + (x)) ((5) + (y)) (z) :: custom ペンを下ろす 移動 ((-5) + (x)) ((5) + (y)) (z) :: custom 移動 ((-5) + (x)) ((-5) + (y)) (z) :: custom 移動 ((5) + (x)) ((-5) + (y)) (z) :: custom 移動 ((5) + (x)) ((5) + (y)) (z) :: custom ペンを上げる 移動 ((5) + (x)) ((5) + (y)) ((z) + (15)) :: custom ペンを下ろす 移動 ((-5) + (x)) ((5) + (y)) ((z) + (15)) :: custom 移動 ((-5) + (x)) ((-5) + (y)) ((z) + (15)) :: custom 移動 ((5) + (x)) ((-5) + (y)) ((z) + (15)) :: custom 移動 ((5) + (x)) ((5) + (y)) ((z) + (15)) :: custom
これで奥行きのある3Dの作画ができる。