• [UE4]Grabbable接口


      首先,面向接口编程和面向对象编程并不是平级的,它并不是比面向对象编程更先进的一种独立的编程思想,而是附属于面向对象思想体系,属于其一部分。或者说,它是面向对象编程体系中的思想精髓之一。

      

    接口是一组规则的集合,它规定了实现本接口的类或接口必须拥有的一组规则。体现了自然界“如果你是……则必须能……”的理念。
      例如,在自然界中,人都能吃饭,即“如果你是人,则必须能吃饭”。那么模拟到计算机程序中,就应该有一个IPerson(习惯上,接口名由“I”开头)接口,并有一个方法叫Eat(),然后我们规定,每一个表示“人”的类,必须实现IPerson接口,这就模拟了自然界“如果你是人,则必须能吃饭”这条规则。

    一、Grabbable接口:可被抓取的接口。接口一般用形容词来命名。隐含的意思是Grabbable是物体的某一方面的属性,描绘的是物体某一个特征。

    二、哪些类可以实现Grabbable接口?

      1、所有能抓取的东西

      2、比如:椅子、武器(拿起来要有方向规定,比如剑锋利的一面朝外,盾牌的盾面也要朝外,武器都有手握的把手,不是随便握的)、门(打开和关闭都是围绕一个轴转动)、抽屉(只能往前后方向移动,并且只能移动一定的距离,不能无限移动)、石头。实现接口的函数名称一样,但是函数实现根据不同的物品可以不一样。

    三、在蓝图中新建接口

      1、在内容视图,右键选择“Blueprints——》Blueprint Interface”。

         

    四、在蓝图中实现接口,一个类可以实现多个多个接口,接口与接口之间互不影响。

      

    五、实现接口的函数体,要在Add Event节点下,如图所示。

       

      

      把原有的OnGrab改成On Grab Private,OnDrop改成On Drop Private,然后直接调用就可以了。使用一个自定义的函数体来实现接口函数体,可以有很多好处:可以使用局部变量、优化代码结构。

  • 相关阅读:
    洛谷 P1383 高级打字机==codevs 3333 高级打字机
    洛谷 P1525 关押罪犯==codevs 1069 关押罪犯[NOIP 2010]
    洛谷P2668 斗地主==codevs 4610 斗地主[NOIP 2015 day1 T3]
    poj1426
    3049 舞蹈家怀特先生
    1444 “破锣摇滚”乐队
    cocos2d-x开发的《派对小游戏》-github源代码分享
    【c语言】字符串替换空格:请实现一个函数,把字符串中的每一个空格替换成“%20”
    CAP理论与HBase
    也谈以人为本—— 服务型企业的管理随想
  • 原文地址:https://www.cnblogs.com/timy/p/10508006.html
Copyright © 2020-2023  润新知