0%

全局类客户端入口模块:ClientMain.lua

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
local api -- 控制街口对象表,,通过sf_start事件回调获得,存放在模块局部变量中,详情请查阅(api接口.txt)
-- 房间类和全局类游戏使用相同的客户端控制api
local quitFunc -- 用于保存退出游戏的方法
local myselfUid -- 用于保存自己的uid

--- 开始游戏事件回调
-- @function sf_start
-- @tab nativeapi 控制街口对象表
local function sf_start(uid,nativeapi,qf)
-- 通常将所需变量保存到模块
myselfUid = uid
api = nativeapi -- 保存API对象表
quitFunc = qf
end

--- 网络数据响应事件回调
-- @function sf_message
-- @tab data 服务器下发的数据表
local function sf_message(data)

end

--- 键盘按下事件回调
-- @function sf_keydown
-- @int keycode 键盘响应码,请查阅Constants.txt
-- @boolean repeated 是否是重复键,一般案下一个键时,为一次新键,不松手,会一直响应keydown,这个时候repeated为true,表明是重复键。
local function sf_keydown(keycode,repeated)
if keycode==api.Constants.K_F12 then
quitFunc() -- 退出游戏
end
end

--- 键盘抬起回调
-- @function sf_keyup
-- @int keycode 键盘响应码,请查阅Constants.txt
local sf_keyup = function(keycode)

end

--- 触摸响应事件回调,只能在安卓平台和ios平台以及web平台使用
-- @function sf_touch
-- @int touchtype 手势种类,请查阅Constants
-- @int x x坐标
-- @int y y坐标, 坐标返回的是设计逻辑尺寸,请参考绘图接口中的逻辑坐标dwidth和dheight
-- @int fingers 本次手势的手指数,一般1到3个手指,在多的手指需要硬件支持,有的手机触摸屏支持10个手指,一般到四个手指。
-- @int gid 本次触摸的模式编号,100位全屏触摸编号,200位分屏触摸中的上半屏编号,300位分屏模式下的下半屏幕触摸编号
local function sf_touch(touchtype, x, y,fingers,gid)

end

--- 每一帧调用,用于时时游戏的更新,每一秒60帧
-- @function update
local function sf_update()

end

-- 导出接口方法
return {
start=sf_start,
message=sf_message,
keydown=sf_keydown,
keyup=sf_keyup, -- 可选
touch=sf_touch,
update=sf_update,
}