首页 / 更多教程 / Socket.io应用之联网拖拽游戏
Socket.io应用之联网拖拽游戏
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Socket.io应用之联网拖拽游戏,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2135字,纯文字阅读大概需要4分钟。
内容图文
![Socket.io应用之联网拖拽游戏](/upload/InfoBanner/zyjiaocheng/1168/97cca7c283e74fdcb7ff2543b2557007.jpg)
服务器端代码:
const express=require(‘express‘); const http=require(‘http‘); const sio=require(‘socket.io‘); const app=express(); const server=http.createServer(app); app.use(express.static(__dirname)); app.get(‘/‘,function(req,res){ res.sendFile(__dirname+"/drag.html"); }); //使用socket.io实现双向通信 const io=sio.listen(server); io.on(‘connection‘,function(socket){ //socket对象是指当前浏览器和服务器间连接的socket对象 //每一个客户端连接都有自己的一个socket对象 //在服务器端,相应客户端的move事件 socket.on(‘move‘,function(data){ //console.log(data); //向其他所有的客户端发送一个moveall事件,传递坐标数据 socket.broadcast.emit(‘moveall‘,data); }) }); server.listen(3000,function(){ console.log(‘listening inport 3000...‘) })
客户端代码:
<!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title></title> <script src="socket.io.js"></script> <style type="text/css"> #box {width:100px; height:100px; background:red;position:absolute;} </style> </head> <body> <div id="box"> </div> <script type="text/javascript"> //建立和服务器间的连接 var socket=io.connect(‘http://localhost:3000‘); var box=document.getElementById(‘box‘); //定义全局变量 var divX=0;//div的横坐标 var divY=0;//div的纵坐标 var mouseX=0;//鼠标 横坐标 var mouseY=0;//鼠标纵坐标 var sw=false;//表示开关 //绑定mousedown事件,鼠标按下,获取到元素的坐标信息 box.onmousedown=function(evt){ var e=evt || window.event; //兼容ie和普通浏览器 //获取div位置 divX=this.offsetLeft;//获得不带单位的值 divY=this.offsetTop; //获取鼠标位置 mouseX= e.clientX;//e.pageX mouseY= e.clientY;//e.pageY //开启开关 sw=true; }; //绑定mousemove事件 box.onmousemove=function(evt){ var e=evt || window.event; //如果开关sw开启 if(sw){ //dis坐标变化值 var disX= e.clientX-mouseX; var disY= e.clientY-mouseY; box.style.left=divX+disX+‘px‘; box.style.top=divY+disY+‘px‘; } //向服务器端发送move事件,同时将box的位置信息发送过去 socket.emit(‘move‘,{ x:box.offsetLeft, y:box.offsetTop }); }; //绑定mouseup事件 document.onmouseup=function(){ sw=false; } //注册moveall事件,以响应服务器端发送回来的moveall事件 socket.on(‘moveall‘,function(data){ //设置box坐标值即可 box.style.left=data.x+"px"; box.style.top=data.y+"px"; }); </script> </body> </html>
实现了联网拖拽效果:
原文:http://www.cnblogs.com/yanxinhua/p/5820283.html
内容总结
以上是互联网集市为您收集整理的Socket.io应用之联网拖拽游戏全部内容,希望文章能够帮你解决Socket.io应用之联网拖拽游戏所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。