繰り返しのブロックには、「変数 xを カウントして」という記載があります。
繰り返しブロックを作ると、同時に変数xが作られて0(min)から10(max)までの繰り返しの数字が入る状態になります。
繰り返しブロックの内側で、この変数xを使うことができます。
位置x(横位置)、位置y(縦位置)のどちらも変数xの値にしたことで、右上に積み上がっていく階段になりました。
繰り返しのブロックには、「変数 xを カウントして」という記載があります。
繰り返しブロックを作ると、同時に変数xが作られて0(min)から10(max)までの繰り返しの数字が入る状態になります。
繰り返しブロックの内側で、この変数xを使うことができます。
位置x(横位置)、位置y(縦位置)のどちらも変数xの値にしたことで、右上に積み上がっていく階段になりました。
だれでも簡単にVRやARが作れるサービスBLOCKVROCKについてリファレンスを書いていっています。
記事を投稿したら、この目次を更新していきます。
【紹介】
1−1 BLOCKVROCKというWebVRサービス
https://daiyamamoto.hatenablog.com/entry/2019/11/26/144231
【BLOCKプログラミング入門】
1−2 BLOCKVROCKでHelloWorld
https://daiyamamoto.hatenablog.com/entry/2019/11/26/155341
1−3 物体の位置
https://daiyamamoto.hatenablog.com/entry/2019/12/11/135548
1−4 物体の回転(X軸)
https://daiyamamoto.hatenablog.com/entry/2019/11/29/164423
1−5 物体の回転(Y軸)
https://daiyamamoto.hatenablog.com/entry/2019/11/29/165257
1−6 物体の回転(Z軸)
https://daiyamamoto.hatenablog.com/entry/2019/11/29/170830
1−7 物理エンジンで物体に重さをつける
https://daiyamamoto.hatenablog.com/entry/2019/12/03/092215
1−8 物体を受け止める土台を作る
https://daiyamamoto.hatenablog.com/entry/2019/12/03/191744
1−9 殴れる物体を作る
https://daiyamamoto.hatenablog.com/entry/2020/01/05/210229
1−10 カメラを操作する
https://daiyamamoto.hatenablog.com/
1-12 視線の方向に常に直進する
https://daiyamamoto.hatenablog.com/entry/2020/01/25/190835
1−11 チェックポイントによる移動
https://daiyamamoto.hatenablog.com/entry/2019/12/18/215102
【BLOCKプログラミング中級】
2-1 BLOCKVROCKでの変数
https://daiyamamoto.hatenablog.com/entry/2019/11/27/200307
2-2 変数によるデータの名前付け
https://daiyamamoto.hatenablog.com/entry/2019/11/27/202320
2-3 変数と演算
https://daiyamamoto.hatenablog.com/entry/2019/11/27/215647
2-4 掛け算(乗算)の演算
https://daiyamamoto.hatenablog.com/entry/2019/11/27/222024
2−5 繰り返しを使った複数の物体作成
https://daiyamamoto.hatenablog.com/entry/2019/11/28/115904
2−6 繰り返しブロックのカウンタ変数
https://daiyamamoto.hatenablog.com/entry/2019/11/28/130559
2−7 繰り返しブロックでたくさんの物体を作る
https://daiyamamoto.hatenablog.com/entry/2019/11/28/133610
2−8 物体をアニメーションさせる
https://daiyamamoto.hatenablog.com/entry/2020/01/05/202141
2−9 クリックしたときに物体を移動させる
https://daiyamamoto.hatenablog.com/entry/2020/01/05/203214
【BLOCKプログラミング中上級】
3−1 配列を使った繰り返し
https://daiyamamoto.hatenablog.com/entry/2019/11/28/170256
3−2 番号を指定して配列からデータを取り出す
https://daiyamamoto.hatenablog.com/entry/2019/11/28/171105
【BLOCKプログラミング その他機能紹介】
4-1 子要素をとにかく円形に配置してくれるブロック
https://daiyamamoto.hatenablog.com/entry/2019/11/26/150446
【CODEプログラミング 入門】
5-1 JavaScriptコードモードを使って物体をアニメーションさせる
https://daiyamamoto.hatenablog.com/entry/2019/12/13/101010
コンピューターが得意なことの1つは、同じ作業を苦もなく繰り返すことです。
プログラミングはコンピューターへの命令なので、やはり繰り返し同じことを実行してもらう命令が重要です。
BLOCKVROCKでは、こういった繰り返しに使える「変数xをカウントして0から10まで繰り返す」というブロックがあります。
このブロックは、VRの世界が作られるときに内側のブロック定義を0(min) から 10(max)まで繰り返してくれます。
maxの値を大きくすれば繰り返しの数が増えます。
繰り返しの内側に、直方体などの物体のブロックを配置するだけだと、繰り返し同じ場所に物体が作られてしまい結果的に1つの物体しか作られていないように見えてしまいます。そのため位置や色をばらけさせる「ランダムな位置」と「ランダムな色」という属性ブロックを繋げておきます。
1シーン中にたくさんの物体を作ると、画面がとても重くなってしまうので最大300個ぐらいにしておくのが良いでしょう。
ランダムな位置やランダムな色の属性をつけると、元の直方体の色や位置は上書きされて使えなくなります。
このプログラムは、BLOCKVROCKのチュートリアルを書き始めたときに記載したサンプルとほとんど同じものです。
https://daiyamamoto.hatenablog.com/entry/2019/11/26/144231
四則演算と呼ばれる演算には、足し算(加算)引き算(減算)掛け算(乗算)割り算(除算)があります。
特に掛け算は、数学で使う記号(x)とは異なり、アスタリスク(*)を使うので注意が必要です。乗算に*を使うのはBLOCKVROCKだけではなく、ほとんどの言語で共通するルールです。
変数を使うのと同じように入力項目を=から書き始めることで、計算式を作ることができます。
「= 1 + 1」のように数値だけで計算もできますし、「= x - 2」のようにあらかじめデータをいれた変数を使った式にすることもできます。
以下のプログラムは、「段数」という名前をつけた変数を使って直方体を階段状に配置しています。
変数には数値やデータに対する名前づけの効果もあります。
10や-4という数字は味気ないですし、プログラムが巨大になってくるとどの数字が何を指しているかわかりにくくなります。
以下のプログラムでは、変数名に「高さ」という名称をつけました。
参照する箇所(大きさのY)でも「= 高さ」にしています。読みやすい名前をつけることでプログラムの意図が一目瞭然となります。*1
実行すると、高さが5の物体が表示されます。
*1:変数名などのプログラムの構成要素に日本語で名前をつけるのは、あまりオススメできません。日本語などのマルチバイト文字に対応していないソフトウェアに連携するときなどに、余計な手間がかかることがおおいからです
BLOCKVROCKで変数(へんすう)を使います。変数はプログラミングのとても基礎的ながら重要な要素です。
プログラムで変数を使うメリットはいくつかあります。
変数には、はじめに変数に値をセットしておいて、変数を使いたい場所で「=変数名」と書きます。
Excelで計算式を書くときみたいですね。
以下のプログラムで、「= z」の箇所は全て変数zに入った値-5が使われます。
このプログラムでは、3つのブロックのz値を変数で設定しているので、変数zの値を-5から−10などにかえると、3つの物体の位置を一気に変更できます。
今回のプログラムは、実行結果だけではあまり面白みがありませんね。
このプログラムは3つのブロックのz(奥行き)の位置を変数zから読み込むようにしています。