ブロックを組立てていくビジュアル・プログラミング言語「App Inventor 2」を使ってみる(17)


今回は3つのボールが別々の動作する中で、前回と同様にキャンバス(Canvas)の端で壁に当たるようにバウンドするテストアプリです。



テストアプリを起動するとUIはこちらになっています。2つのボールが交差した時は色の交換をします。


マウスによるドラッグで位置を変更する事にも対応しています。



実際の様子はこちらの動画で確認できます。




これを実現している「Blocks」はこちらこちらです。





今回は「ImageSprite」ではなく「Ball」を使っています。「ImageSprite」では表示対象がないので画像を指定しましたが、「Ball」では(色・サイズ指定する必要がありますが)円に決まっています。「Dragged」や「EdgeReached」などのライブラリーは同じ動きをしますから、「上下」・「左右」の移動に関しては前回と同様になっています。

中心課題はボールが重なった(相互に触れた)時の動作で、「CollidedWith」と「NolongerCollidingWith」を使います(こちらを参照)。


2つのボールが重なった時色の交換をしていますが、複数の「CollidedWith」処理が全く同時に動いている訳ではなく、処理の順番によって誤った結果になります。他のボウルでの色交換の処理が終わるまで残しておき、後の順番になっている処理で保存してある色を使うようにしています。

また、「CollidedWith」のイヴェントは重なっていると常に一定のインターバルで発生するので、重なった最初のイヴェントを"Connection"フラッグで区別しています。重なりが終了した事は「NolongerCollidingWith」のイヴェントで知る事ができます。


尚、今回のテストアプリには3つのボールが(直接・間接問わず)重なった時の処理は入っていません。従って全てのボールが同じ色になる事があります(上掲の動画でもそのようになっています・・・)。


 

西之島の火山活動は継続中


海上保安庁のプレスリリースによると、西之島の火山活動は継続しています。波浪による侵食で海岸線の後退がありますが、一部拡大している所もあります(こちらを参照。赤線は8月19日現在の陸地の外縁)。






 
ラベル:西之島
posted by 鎌倉太郎 at 05:00| 神奈川 ☁| Comment(0) | TrackBack(0) | 日記 | 更新情報をチェックする

綺麗な銀河・星雲(172) - おとめ座(Virgo)の方角にある渦巻銀河(Spiral galaxy)「NGC 5584」


今回の綺麗な銀河・星雲は、おとめ座(Virgo)の方角にある渦巻銀河(Spiral galaxy)「NGC 5584」です(こちらこちら)。


ハッブル宇宙望遠鏡(Hubble Space Telescope)に依って得られたデータの合成画像



超大型望遠鏡VLT(Very Large Telescope)に依って得られたデータの合成画像



 
posted by 鎌倉太郎 at 00:00| 神奈川 ☁| Comment(0) | TrackBack(0) | 日記-魅惑の銀河・星座 | 更新情報をチェックする