开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术
AR与VR
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
信息服务
智能园区

游戏摇杆

游戏摇杆

游戏摇杆是互动常用控件之一,用于移动端角色、模型控制。配置一个游戏摇杆需要对应贴图素材(外环和内环)和确定所处屏幕位置,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能力集成
下一篇
手势触屏交互