资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

游戏摇杆

游戏摇杆

游戏摇杆是互动常用控件之一,用于移动端角色、模型控制。配置一个游戏摇杆需要对应贴图素材(外环和内环)和确定所处屏幕位置,json中配置游戏素材相关,lua脚本中实现摇杆动作回调和游戏逻辑。

Sample case :代码下载

​ json配置方法如下(//后为注释,实际使用请删除):

//joystick列表
"joysticks": [
    {
    	"name": "joystick1", //joystick名称,用于检索,数据更新
    	"relative": 0,//相对移动,outer是否跟随触碰
    	"responseRegion": {//joystick响应范围
    	"rectangle": {//矩形范围,屏幕百分比范围,含义同hud
       	 	"marginLeftRatio": 0,
        	"marginTopRatio": 0,
       	 	"widthRatio": 0.8,
        	"heightRatio": 0.4
    	}
    },
    //外环实际渲染对象的配置,沿用hud节点配置
    "outer": {
        "name": "outer_hud",
        "type": "plane",
        "visible": 1,
        "touchable": 1,
        "material": {
        "common": {
        "textureList": [
                     {
                     "textureName": "res/texture/outer.jpeg"
                     }
                     ]
        }
        },
        "hudElement": {
            "marginLeft": 0.1,
            "marginTop": 0.07,
            "depthPosition": 0,
            "ratio": {
                "widthRatio" : 0.3,
                "keepAspectRatio":1
            }
        },
        "children": [],
        	//内环实际渲染对象的配置,沿用hud节点配置,hud位置为相对父节点布局
        "inner": {
            "name": "inner_hud",
            "type": "plane",
            "visible": 1,
            "touchable": 1,
            "material": {
            "common": {
            "textureList": [
                         {
                         "textureName": "res/texture/bear3.jpeg"
                         }
                         ]
            }
            },
            "hudElement": {
                "marginTop": 0.25, 
                "marginLeft": 0.25, 
                "depthPosition": 200, 
                "ratio": {
                    "heightRatio" : 0.5,
                    "keepAspectRatio": 1
                }
            } 
    	}
	}
]  

​ 游戏摇杆的内外环节点的配置沿用hud节点配置,内环为外环子节点,游戏摇杆可以在json设定为相应区域、相对移动等属性,详情见joystick静态配置文档。

​ 脚本回调配置方法:

local input_controller = scene:get_inut_controller()
local joystick = input_controller:get_joystick_by_name("joystick")
joystick:set_update_handler(joystick_update)
function joystick_update(x,y)
end

​ 回调函数中返回内环的相对移动偏移,根据该偏移控制场景内事件,详情见Joystick接口文档。

上一篇
ARKit能力集成
下一篇
手势触屏交互