官术网_书友最值得收藏!

Time for action – falling pieces

  1. Add a new class to the Flood Control project called FallingPiece.
  2. Add the Inherits line after the class declaration as follows:
    Inherits GamePiece
  3. Add the following declarations to the FallingPiece class:
    Public VerticalOffset As Integer
    Public Shared FallRate As Integer = 5
  4. Add a constructor for the FallingPiece class:
    Public Sub New(type As String, verticalOffset As Integer)
        MyBase.New(type)
        Me.VerticalOffset = verticalOffset
    End Sub
  5. Add a method to update the piece:
    Public Sub UpdatePiece()
        VerticalOffset =
            CInt(MathHelper.Max(0, VerticalOffset - FallRate))
    End Sub

What just happened?

Simpler than a RotatingPiece, a FallingPiece is also a child of the GamePiece class. A FallingPiece has an offset (how high above its final destination it is currently located) and a falling speed (the number of pixels it will move per update).

As with a RotatingPiece, the constructor passes the type parameter to its base class constructor, and uses the verticalOffset parameter to set the VerticalOffset member. Again, we use the Me. notation to differentiate the two identifiers of the same name.

Lastly, the UpdatePiece() method subtracts FallRate from VerticalOffset, again using the MathHelper.Max() method to ensure that the offset does not fall below zero.

主站蜘蛛池模板: 桓仁| 莒南县| 桃江县| 卫辉市| 宁德市| 拜泉县| 白沙| 乐都县| 会东县| 德兴市| 凤山市| 囊谦县| 雷山县| 茶陵县| 怀柔区| 昌乐县| 九龙城区| 宝兴县| 涿州市| 兴国县| 札达县| 凉城县| 茌平县| 云南省| 东丰县| 阳江市| 鲁甸县| 乡宁县| 含山县| 万源市| 施秉县| 湖口县| 江门市| 巍山| 南阳市| 英吉沙县| 柘城县| 成都市| 盐边县| 三亚市| 互助|