corona和AppWarp多人游戏中的英雄移动
2016-7-30 18:58:8
收藏:0
阅读:80
评论:0
我正在尝试移动多人游戏中的英雄向左和向右移动。 我有两个正方形用于启动普通圆形的向左和向右移动。
我正在使用AppWarp启动多人游戏实例,这可以正常工作,但是我在如何通讯圆形移动方面遇到了麻烦。
这是我的lua:
-当左箭头被触摸时,向左移动字符
function left:touch()
motionx = -speed;
end
left:addEventListener(“touch”,left)
-当右箭头被触摸时,向右移动字符
function right:touch()
motionx = speed;
end
right:addEventListener(“touch”,right)
-移动字符
本地功能movePlayer(事件)
appWarpClient.sendUpdatePeers(tostring(player.x))
end
Runtime:addEventListener(“enterFrame”,movePlayer)
-当未按下箭头时停止字符移动
本地功能stop(事件)
如果事件阶段==“ended” then
motionx = 0;
end
这里的关键线是
appWarpClient.sendUpdatePeers(tostring(player.x))
通过这个,我发送了我的英雄(圆圈)的当前X位置,在我的 warplisteners 中,我像这样拾取它:
function onUpdatePeersReceived(update)
local func = string.gmatch(update,"%S+")
-提取以空格分隔的发送值
-local id = tostring(func())
local x = func()
statusText.text = x
player.x = x + motionx
end
当我在2个客户端上启动游戏时,我可以开始移动球,但它在62个单位之间来回摆动,这就是我的速度
速度=6; -设置步行速度
如果我将其更改为:
function onUpdatePeersReceived(update)
local func = string.gmatch(update,"%S+")
-提取以空格分隔的发送值
-local id = tostring(func())
local x = func()
statusText.text = x
player.x = player.x + motionx
end
(结束前的最后一行)
player.x = player.x + motionx
而不是
player.x = x + motionx
坐标得到更新,但是英雄只在一个屏幕上移动。
有没有想法如何实现更好的移动系统,在两个客户端上同时移动我的英雄?
最好的祝福
编辑:
如果-else,它在速度为0时处于+-speed和0之间,因为当英雄停止时速度为0。
if(motionx〜=“0”)then
player.x = player.x + motionx
statusText.text =“motionx〜= 0”
elseif(motionx ==“0”)then
player.x = player.x
else
statusText.text =“发生了可怕的事情”
end
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法