如何实现坦克的两种开火模式以及如何直接控制坦克

该主题包含 5 个回复,有 2 个参与人,并且由 cool44 的头像 cool441 年, 3 月 前 最后一次更新。

正在查看 6 个帖子 - 1 至 6 (共计 6 条)
  • 作者
    帖子
  • #16903
    cool44 的头像
    cool44
    学员
    注册日期: 2015/04/30
    发帖数: 17
    回帖数: 28

    如题,如果我创建了两个插槽1和2,和两种开火模式A和B,如何在坦克里实现,开火模式A对应插槽1,开火模式B对应插槽2,一般的坦克会有一门主炮和一挺并列机枪,在游戏中怎样实现按某个按键切换机枪和主炮。最后想问如何才能直接控制坦克。
    求风大解惑。

    #16928
    风之神韵 的头像
    风之神韵
    教师
    注册日期: 2014/06/20
    发帖数: 2
    回帖数: 360

    你可以搜索EffectSockets(0)或者EffectSockets(1),代表左键开火和右键开火的插槽。
    切换炮其实就是切换视角,如果都像按左键开炮或者开枪那就得修改的代码多一些了,毕竟这个自带的模板不是为你设计的。
    具体的代码位置可以搜搜GetEffectLocation,其实判断当前开火模式CurrentFireMode来决定使用哪个插槽,所以你要自己加一个判断,是当前控制主炮还是机枪,来决定用哪个插槽。

    视角切换主要在CalcCamera里实现,你可以在坦克类里重写这个函数,另外加个摄像机模式的变量(控制哪个武器的模式),来决定视角是在跑的前后面,还是再机枪的后面。

    直接进入坦克可以使用载具类UTVehicle的DriverEnter(Pawn driver)这个函数,把你自己的角色传给driver,就可以了。

    #16939
    cool44 的头像
    cool44
    学员
    注册日期: 2015/04/30
    发帖数: 17
    回帖数: 28

    多谢提示,还有个问题,如何修改倒车的速度,把速度改慢了之后发现倒车速度比前进速度快,倒车的参数在哪呢?

    #17635
    风之神韵 的头像
    风之神韵
    教师
    注册日期: 2014/06/20
    发帖数: 2
    回帖数: 360

    如果你用SVehicleSimCar,那么下面有个参数叫ReverseThrottle,默认为-1,你改成-0.2,就是20%的速度。如果你用的是SVehicleSimTank,那么可以把Throttle设置为-0.2就是倒车20%的速度。

    #17640
    风之神韵 的头像
    风之神韵
    教师
    注册日期: 2014/06/20
    发帖数: 2
    回帖数: 360

    要想实现对载具参数的精确控制,建议你 把操作自己写一遍,比如档位,前进,后退,最终只得出一个参数就是实际应该给多少油门值,然后赋值给 Vehicle类的Throttle变量,Throttle的取值范围在-1到1。 这个赋值操作可以在Tick函数里。

    #19509
    cool44 的头像
    cool44
    学员
    注册日期: 2015/04/30
    发帖数: 17
    回帖数: 28

    谢谢

正在查看 6 个帖子 - 1 至 6 (共计 6 条)

抱歉,回复评论必需登录。