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

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.

主站蜘蛛池模板: 波密县| 镇远县| 炉霍县| 托里县| 都兰县| 文山县| 涟水县| 海城市| 广平县| 凤冈县| 淄博市| 靖宇县| 乡宁县| 页游| 汕尾市| 敖汉旗| 莒南县| 沙雅县| 夹江县| 资中县| 林西县| 安乡县| 东方市| 洪雅县| 霍州市| 东乡县| 长乐市| 涿州市| 宁河县| 绿春县| 灵石县| 德江县| 关岭| 金秀| 凤冈县| 荆州市| 乌审旗| 吉首市| 科技| 大足县| 正定县|