描画とアニメーションコンポーネント

目次

ボール

Canvas上に配置してタッチやドラッグに反応したり、他のスプライト( ImageSpriteや他のBall )やキャンバスの端と相互作用したり、そのプロパティ値に従って移動したりできる円形の「スプライト」。

たとえば、 Ballが500ミリ秒(1/2秒)ごとにCanvasの上に4ピクセル移動するようにするには、 Speedプロパティを4 [pixels]に、 Intervalプロパティを500 [ms]に、 Headingプロパティを90に設定します。 [度]、およびEnabledプロパティをTrueます。 これらおよびその他のプロパティはいつでも変更できます。

BallとImageSpriteは、後者は画像ファイルから外観を取得できるのに対し、Ballの外観はPaintColorプロパティとRadiusプロパティを変更することによってのみ変更できることです。

プロパティ

Enabled速度がゼロ以外のときにスプライトを移動するかどうかを制御します。Heading

正のx軸より上の角度でスプライトの方向を返します。 ゼロ度は画面の右側に向いています。 90度は画面の上を向いています。Interval

スプライトの位置が更新される間隔(ミリ秒)。 たとえば、間隔が50で速度が10の場合、スプライトは50ミリ秒ごとに10ピクセル移動します。PaintColorRadiusSpeed

スプライトが移動する速度。 スプライトは間隔ごとにこの多数のピクセルを移動します。Visible

スプライトが表示されている場合はtrueです。X

スプライトの左端の水平座標。スプライトが右に移動するにつれて増加します。Y

スプライトの上部の垂直座標。スプライトが下に移動するにつれて増加します。Z

小さい番号のレイヤーの前に大きい番号のレイヤーを配置して、スプライトを他のスプライトとどのように重ね合わせるか。

イベント

CollidedWith(component other)CollidedWithイベントのハンドラ。2つのスプライトが衝突したときに呼び出されます。 回転されたImageSpriteとの衝突をチェックすることは現在スプライトの回転していない位置に対してチェックすることに注意してください。 したがって、衝突チェックは、回転している幅の狭い、または幅の広いスプライトでは不正確になります。Dragged(number startX, number startY, number prevX, number prevY, number currentX, number currentY)ドラッグイベントのハンドラ。 すべての呼び出しで、開始座標は画面が最初にタッチされた場所であり、「現在の」座標は現在の線分の終点を表します。 特定のドラッグ内での最初の呼び出しでは、「前の」座標は開始座標と同じです。 その後、それらは前の呼び出しからの「現在の」座標です。 MoveToが特に呼び出されない限り、SpriteはDraggedイベントに応じて実際にはどこにも移動しません。EdgeReached(number edge)スプライトが画面の端に達すると呼び出されるイベントハンドラ。 その後、そのエッジでバウンスが呼び出されると、スプライトは到達したエッジからバウンスするように見えます。 ここでのエッジは、北(1)、北東(2)、東(3)、南東(4)、南(-1)、南西(-2)、西(-3)の8つの方向のいずれかを示す整数として表されます。北西(-4)Flung(number x, number y, number speed, number heading, number xvel, number yvel)スプライト上で投球ジェスチャ(クイックスワイプ)が行われたとき:キャンバスの左上を基準とした投球開始位置の(x、y)位置を提供します。 投球の速度(ミリ秒あたりのピクセル数)と進行方向(0〜360度)、および投球のベクトルのx速度成分とy速度成分も表示されます。NoLongerCollidingWith(component other)一対のスプライトが衝突しなくなったことを示すイベント。TouchDown(number x, number y)ユーザーがスプライトに触れ始めたとき(スプライトに指を置いたままにしたとき):キャンバスの左上を基準にした、タッチの(x、y)位置を提供します。TouchUp(number x, number y)ユーザーがスプライトに触れなくなったとき(TouchDownイベントの後に指を離したとき):キャンバスの左上を基準にした、タッチの(x、y)位置を提供します。Touched(number x, number y)ユーザーがスプライトをタッチしてすぐに指を離すと、キャンバスの左上を基準にしたタッチの(x、y)位置が表示されます。

方法

Bounce(number edge)

このスプライトをまるで壁から離れたようにバウンスさせます。 通常のバウンスのために、edge引数はEdgeReachedによって返されるものであるべきです。boolean CollidingWith(component other)このスプライトと渡されたスプライトの間に衝突が登録されているかどうかを示します。MoveIntoBounds()スプライトの一部が範囲外に広がっている場合はスプライトを範囲内に戻します。それ以外の場合は効果がありません。 スプライトが広すぎてキャンバスに収まらない場合は、スプライトの左側とキャンバスの左側が揃います。 スプライトの高さが高すぎてキャンバスに収まらない場合は、スプライトの上面とキャンバスの上面を揃えます。MoveTo(number x, number y)

左上隅が指定されたx座標とy座標になるようにスプライトを移動します。PointInDirection(number x, number y)

座標が(x、y)の点に向くようにスプライトを回転させます。PointTowards(component target)

指定されたターゲットスプライトを指すようにスプライトを回転させます。 新しい見出しは、2つのスプライトの中心点を結ぶ線と平行になります。

キャンバス

描画やスプライトの移動が可能な2次元タッチセンシティブ長方形パネル。

キャンバスのBackgroundColor 、 PaintColor 、 BackgroundImage 、 Width 、およびHeightは、デザイナまたはブロックエディタで設定できます。 WidthHeightさはピクセル単位で測定され、正である必要があります。

キャンバス上の任意の場所は、(X、Y)値のペアとして指定できます。ここで、

  • Xはキャンバスの左端からのピクセル数です
  • Yはキャンバスの上端からのピクセル数です。

キャンバスがいつ、どこでタッチされたか、またはSprite ( ImageSpriteまたはBall )がドラッグされたかを通知するイベントがあります。 点、線、円を描く方法もあります。

プロパティ

BackgroundColorキャンバスの背景色。BackgroundImageキャンバスの背景画像を含むファイルの名前FontSizeキャンバスに描かれたテキストのフォントサイズ。HeightLineWidthキャンバスに描かれた線の幅。PaintColor線が描かれる色TextAlignmentそのコマンドで指定された点を基準にして、DrawText()またはDrawAngle()によって描画されたテキストの配置を決定します。テキストの左側、テキストの中央、またはテキストの右側を指します。Visibleコンポーネントを画面に表示するかどうかを指定します。 コンポーネントが表示されている場合は値はtrue、非表示になっている場合はfalseです。Width

イベント

Dragged(number startX, number startY, number prevX, number prevY, number currentX, number currentY, boolean draggedSprite)ユーザーがある点(prevX、prevY)から別の点(x、y)にドラッグすると。 ペア(startX、startY)はユーザーが最初に画面に触れた場所を示し、 “draggedSprite"はスプライトがドラッグされているかどうかを示します。Flung(number x, number y, number speed, number heading, number xvel, number yvel, boolean flungSprite)キャンバス上で投球ジェスチャー(クイックスワイプ)が行われたとき:キャンバスの左上を基準とした投球の開始の(x、y)位置を提供します。 投球の速度(ミリ秒あたりのピクセル数)と進行方向(0〜360度)、および投球のベクトルのx速度成分とy速度成分も表示されます。 スプライトが投球ジェスチャーの開始点の近くに位置していた場合、値 “flungSprite"はtrueです。TouchDown(number x, number y)ユーザーがキャンバスに触れ始めたとき(キャンバスに指を置いたままにしたとき):キャンバスの左上を基準にした、タッチの(x、y)位置を提供します。TouchUp(number x, number y)ユーザーがキャンバスへのタッチをやめたとき(TouchDownイベントの後に指を離したとき):キャンバスの左上を基準にしたタッチの(x、y)位置を提供します。Touched(number x, number y, boolean touchedSprite)ユーザーがキャンバスに触れた後すぐに指を離すと、キャンバスの左上を基準にしたタッチの(x、y)位置が表示されます。 TouchedSpriteは、同じタッチでスプライトにも触れた場合はtrue、それ以外の場合はfalseです。

方法

Clear()このキャンバスに描かれているものはすべてクリアしますが、背景色や画像はクリアしません。DrawCircle(number x, number y, number r)キャンバス上の指定された座標に、指定された半径で円を(塗りつぶして)描画します。DrawLine(number x1, number y1, number x2, number y2)キャンバス上の指定された座標の間に線を引きます。DrawPoint(number x, number y)キャンバス上の指定された座標に点を描画します。DrawText(text text, number x, number y)FontSizeプロパティとTextAlignmentプロパティの値を使用して、指定した座標を基準にして指定したテキストを描画します。DrawTextAtAngle(text text, number x, number y, number angle)FontSizeプロパティとTextAlignmentプロパティの値を使用して、指定された座標から指定の角度で指定されたテキストを描画します。number GetBackgroundPixelColor(number x, number y)指定した点の色を取得します。 これには背景と描画された点、線、または円が含まれますが、スプライトは含まれません。number GetPixelColor(number x, number y)指定した点の色を取得します。text Save()このCanvasの写真をデバイスの外部ストレージに保存します。 エラーが発生した場合は、ScreenのErrorOccurredイベントが呼び出されます。text SaveAs(text fileName)このCanvasの画像をfileNameという名前のファイルのデバイスの外部ストレージに保存します。 fileNameは、ファイルの種類を決定する.jpg、.jpeg、または.pngのいずれかで終わる必要があります。SetBackgroundPixelColor(number x, number y, number color)指定した点の色を設定します。 これはDrawPointとは異なり、colorの引数があります。

イメージスプライト

Canvas上に配置できる「スプライト」。タッチやドラッグに反応したり、他のスプライト( Ballや他のImageSprite )やキャンバスの端と相互作用したり、そのプロパティ値に従って移動したりできます。 その外観は、そのPictureプロパティで指定された画像の外観です( VisibleプロパティがFalseない限り)。

ImageSprite 、 ImageSpriteが1000ミリ秒(1秒)ごとに10ピクセル左に移動するには、 Speedプロパティを10 [pixels]に、 Intervalプロパティを1000 [ms]に、 Headingプロパティを180 [度]に設定します。そして、 EnabledプロパティをTrueます。 RotatesプロパティがTrueのスプライトは、スプライトのHeadingが変わると画像が回転します。 回転しているスプライトとの衝突をチェックすると、現在スプライトの回転していない位置がチェックされるため、回転している幅の狭い、または幅の狭いスプライトでは衝突チェックが不正確になります。 どのスプライトプロパティもプログラムの制御下でいつでも変更できます。

プロパティ

Enabled速度がゼロ以外のときにスプライトを移動するかどうかを制御します。Heading

正のx軸より上の角度でスプライトの方向を返します。 ゼロ度は画面の右側に向いています。 90度は画面の上を向いています。HeightInterval

スプライトの位置が更新される間隔(ミリ秒)。 たとえば、間隔が50で速度が10の場合、スプライトは50ミリ秒ごとに10ピクセル移動します。Pictureスプライトの外観を決定する絵Rotatestrueの場合、スプライト画像はスプライトの見出しに合わせて回転します。 falseの場合、スプライトの向きが変わってもスプライトの画像は回転しません。 スプライトはその中心点を中心に回転します。Speed

スプライトが移動する速度。 スプライトは間隔ごとにこの多数のピクセルを移動します。Visible

スプライトが表示されている場合はtrueです。WidthX

スプライトの左端の水平座標。スプライトが右に移動するにつれて増加します。Y

スプライトの上部の垂直座標。スプライトが下に移動するにつれて増加します。Z

小さい番号のレイヤーの前に大きい番号のレイヤーを配置して、スプライトを他のスプライトとどのように重ね合わせるか。

イベント

CollidedWith(component other)CollidedWithイベントのハンドラ。2つのスプライトが衝突したときに呼び出されます。 回転されたImageSpriteとの衝突をチェックすることは現在スプライトの回転していない位置に対してチェックすることに注意してください。 したがって、衝突チェックは、回転している幅の狭い、または幅の広いスプライトでは不正確になります。Dragged(number startX, number startY, number prevX, number prevY, number currentX, number currentY)ドラッグイベントのハンドラ。 すべての呼び出しで、開始座標は画面が最初にタッチされた場所であり、「現在の」座標は現在の線分の終点を表します。 特定のドラッグ内での最初の呼び出しでは、「前の」座標は開始座標と同じです。 その後、それらは前の呼び出しからの「現在の」座標です。 MoveToが特に呼び出されない限り、SpriteはDraggedイベントに応じて実際にはどこにも移動しません。EdgeReached(number edge)スプライトが画面の端に達すると呼び出されるイベントハンドラ。 その後、そのエッジでバウンスが呼び出されると、スプライトは到達したエッジからバウンスするように見えます。 ここでのエッジは、北(1)、北東(2)、東(3)、南東(4)、南(-1)、南西(-2)、西(-3)の8つの方向のいずれかを示す整数として表されます。北西(-4)Flung(number x, number y, number speed, number heading, number xvel, number yvel)スプライト上で投球ジェスチャ(クイックスワイプ)が行われたとき:キャンバスの左上を基準とした投球開始位置の(x、y)位置を提供します。 投球の速度(ミリ秒あたりのピクセル数)と進行方向(0〜360度)、および投球のベクトルのx速度成分とy速度成分も表示されます。NoLongerCollidingWith(component other)一対のスプライトが衝突しなくなったことを示すイベント。TouchDown(number x, number y)ユーザーがスプライトに触れ始めたとき(スプライトに指を置いたままにしたとき):キャンバスの左上を基準にした、タッチの(x、y)位置を提供します。TouchUp(number x, number y)ユーザーがスプライトに触れなくなったとき(TouchDownイベントの後に指を離したとき):キャンバスの左上を基準にした、タッチの(x、y)位置を提供します。Touched(number x, number y)ユーザーがスプライトをタッチしてすぐに指を離すと、キャンバスの左上を基準にしたタッチの(x、y)位置が表示されます。

方法

Bounce(number edge)

このスプライトをまるで壁から離れたようにバウンスさせます。 通常のバウンスのために、edge引数はEdgeReachedによって返されるものであるべきです。boolean CollidingWith(component other)このスプライトと渡されたスプライトの間に衝突が登録されているかどうかを示します。MoveIntoBounds()スプライトの一部が範囲外に広がっている場合はスプライトを範囲内に戻します。それ以外の場合は効果がありません。 スプライトが広すぎてキャンバスに収まらない場合は、スプライトの左側とキャンバスの左側が揃います。 スプライトの高さが高すぎてキャンバスに収まらない場合は、スプライトの上面とキャンバスの上面を揃えます。MoveTo(number x, number y)

左上隅が指定されたx座標とy座標になるようにスプライトを移動します。PointInDirection(number x, number y)

座標が(x、y)の点に向くようにスプライトを回転させます。PointTowards(component target)

指定されたターゲットスプライトを指すようにスプライトを回転させます。 新しい見出しは、2つのスプライトの中心点を結ぶ線と平行になります。

レファレンス