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

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.

主站蜘蛛池模板: 清远市| 瓮安县| 巴马| 怀集县| 桂平市| 天峻县| 甘南县| 屯门区| 哈巴河县| 平乡县| 库尔勒市| 青神县| 古蔺县| 方城县| 绍兴县| 博客| 称多县| 襄城县| 泽普县| 孝感市| 永登县| 苍山县| 综艺| 灵山县| 门源| 中江县| 绿春县| 永泰县| 子洲县| 安溪县| 水富县| 阜宁县| 达拉特旗| 邹城市| 榕江县| 汽车| 河间市| 汉中市| 铜陵市| 肇庆市| 三亚市|