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

Function overriding

In addition to variables, functions declared in parent classes are also inherited by their children. This lets us change behavior that goes beyond simple variable changes. For example, two pickups under Inventory | UTInventory | UTTimedPowerup in the class tree, UTBerserk and UTUDamage , have the same function called GivenTo which is inherited from Inventory. Even though the function name is the same, they give the inventory items their unique behavior. UTBerserk's GivenTo function calls a function that increases the player's weapon firing rate, while UTUDamage's GivenTo function increases the player's DamageScaling variable. These functions also set different sound effects and overlays for the two different items.

To experiment with function overriding we're going to expand our AwesomeGame classes to include a custom GameInfo and PlayerController class. The GameInfo controls the rules of the game and is what makes Deathmatch different from "Capture the Flag" for example. A custom GameInfo is one of the most important classes when creating our own game, and most of the time it is the first class created in a new project.

The PlayerController is the brain behind the player's character running around on screen. It processes our input, controls the player's viewpoint, and passes and receives messages to and from other players among many other things. It is another important class in a custom game, and taking the time to read through it will help you understand how a lot of things are done in a UDK game.

So with that, let's make a custom game!

主站蜘蛛池模板: 承德市| 淮北市| 淅川县| 桦南县| 汕尾市| 龙岩市| 延川县| 林州市| 塘沽区| 高邮市| 洪湖市| 普安县| 运城市| 凤阳县| 黄浦区| 盐亭县| 云浮市| 百色市| 泗洪县| 嘉兴市| 武川县| 赞皇县| 鸡东县| 绥中县| 高雄县| 包头市| 玉田县| 垫江县| 伊川县| 吉安县| 平定县| 乐山市| 江西省| 中牟县| 罗城| 天等县| 临汾市| 莒南县| 玉田县| 孝昌县| 盐池县|