Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Nodejs独立的播放器图像_Javascript_Node.js_Image - Fatal编程技术网

Javascript Nodejs独立的播放器图像

Javascript Nodejs独立的播放器图像,javascript,node.js,image,Javascript,Node.js,Image,嘿,我正在和nodejs做一个在线游戏。我试着让它成为这样,当有人加入时,它运行Math.random,如果它小于0.5,它们是橙色的螃蟹,否则它们是红色的螃蟹。现在,这是正确的,除了有时你看不到其他人的形象。我不明白为什么会这样。有人能看一下吗?我知道这很简单。这是我的密码: Index.html: //var mongojs=require(“mongojs”); var-db=null//mongojs('localhost:27017/myGame',['account','progr

嘿,我正在和nodejs做一个在线游戏。我试着让它成为这样,当有人加入时,它运行Math.random,如果它小于0.5,它们是橙色的螃蟹,否则它们是红色的螃蟹。现在,这是正确的,除了有时你看不到其他人的形象。我不明白为什么会这样。有人能看一下吗?我知道这很简单。这是我的密码: Index.html:

//var mongojs=require(“mongojs”);
var-db=null//mongojs('localhost:27017/myGame',['account','progress']);
var express=需要(“express”);
var-app=express();
var serv=require('http')。服务器(应用程序);
app.get('/',函数(req,res){
res.sendFile(uu dirname+'/client/index.html');
});
app.use('/client',express.static('/client');
服务监听(process.env.PORT | | 2000);
log(“服务器已启动”);
var SOCKET_LIST={};
变量实体=函数(参数){
var self={
x:250,
y:250,
spdX:0,
spdY:0,
id:“”,
地图:'森林',
}
如果(参数){
if(参数x)
self.x=参数x;
如果(参数y)
self.y=参数y;
if(参数映射)
self.map=param.map;
if(参数id)
self.id=参数id;
}
self.update=函数(){
self.updatePosition();
}
self.updatePosition=函数(){
self.x+=self.spdX;
self.y+=self.spdY;
}
self.getDistance=函数(pt){
返回Math.sqrt(Math.pow(self.x-pt.x,2)+Math.pow(self.y-pt.y,2));
}
回归自我;
}
变量播放器=函数(参数){
var self=实体(参数);
self.number=“”+数学地板(10*Math.random());
self.pressingRight=false;
self.pressingLeft=假;
self.pressingUp=false;
self.pressingsdown=错误;
自按攻击=错误;
self.mouseAngle=0;
self.maxSpd=10;
self.hp=10;
self.hpMax=10;
self.score=0;
self.team=Math.random();
var super_update=self.update;
self.update=函数(){
self.updateSpd();
super_update();
if(自按攻击){
自投子弹(self.mouseAngle);
}
}
self.shootBullet=函数(角度){
子弹头({
父:self.id,
角度:角度,,
x:self.x,
y:赛尔夫,y,
map:self.map,
团队:自我团队,
});
}
self.updateSpd=函数(){
如果(自按右键)
self.spdX=self.maxSpd;
else if(自按左键)
self.spdX=-self.maxSpd;
其他的
self.spdX=0;
如果(自按)
self.spdY=-self.maxSpd;
else if(自按下)
self.spdY=self.maxSpd;
其他的
self.spdY=0;
}
self.getInitPack=函数(){
返回{
id:self.id,
x:self.x,
y:赛尔夫,y,
编号:self.number,
hp:self.hp,
hpMax:self.hpMax,
分数:self.score,
map:self.map,
团队:自我团队,
};		
}
self.getUpdatePack=函数(){
返回{
id:self.id,
x:self.x,
y:赛尔夫,y,
hp:self.hp,
分数:self.score,
map:self.map,
团队:自我团队,
}	
}
Player.list[self.id]=self;
initPack.player.push(self.getInitPack());
回归自我;
}
Player.list={};
Player.onConnect=函数(套接字){
变量映射='森林';
if(Math.random()<0.5)
map='字段';
玩家({
id:socket.id,
地图:地图,
});
socket.on('keyPress',函数(数据){
如果(data.inputId==='left')
player.pressingLeft=data.state;
else if(data.inputId==‘right’)
player.pressingRight=data.state;
else if(data.inputId=='up')
player.pressingUp=data.state;
else if(data.inputId=='down')
player.pressingDown=data.state;
else if(data.inputId=='attack')
player.pressingAttack=data.state;
else if(data.inputId=='mouseAngle')
player.mouseAngle=data.state;
});
socket.on('changeMap',函数(数据){
如果(player.map==='field')
player.map='forest';
其他的
player.map='field';
});
socket.emit('init'{
selfId:socket.id,
player:player.getAllInitPack(),
bullet:bullet.getAllInitPack(),
})
}
Player.getAllInitPack=函数(){
var=[];
for(Player.list中的变量i)
Player.push(Player.list[i].getInitPack());
返回球员;
}
Player.onDisconnect=函数(套接字){
删除Player.list[socket.id];
移除pack.player.push(socket.id);
}
Player.update=函数(){
var-pack=[];
for(Player.list中的变量i){
var player=player.list[i];
player.update();
pack.push(player.getUpdatePack());
}
返回包;
}
var Bullet=函数(参数){
var self=实体(参数);
self.id=Math.random();
自角度=参数角度;
self.spdX=Math.cos(参数角度/180*Math.PI)*10;
self.spdY=Math.sin(参数角度/180*Math.PI)*10;
self.parent=param.parent;
self.timer=0;
self.toRemove=false;
var super_update=self.update;
self.update=函数(){
如果(自拍时间+++>100)
self.toRemove=true;
super_update();
for(Player.list中的变量i){
var p=玩家列表[i];
if(self.map==p.map&&self.getDistance(p)<32&&self.parent!==p.id){
p、 hp-=1;
如果(第0页)
cb(真);
其他的
cb(假);
});*/
}
var isUserNameTake=函数(数据,cb){
返回cb(假);
/*db.account.find({username:data.username},函数(err,res){
如果(分辨率长度>0)
cb(真);
其他的
cb(假);
});*/
}
var addUser=函数(数据,cb){
返回cb();
/*db.account.insert({username:data.username,password:data.password},函数(err){
cb();
});*/
}
var io=require('socket.io')(serv,{});
io.sockets.on('connection',函数(socket){
socket.id=Math.random();
SOCKET\u LIST[SOCKET.id]=SOCKET;
socket.on('signIn',函数(数据){
isValidPassword(数据、功能(res){
如果(res){
播放器连接(插座);
emit('signInResponse',{success:true});
var playerName=(“”+socket.id).slice(2,7);
用于(插座列表中的var i){
SOCKET_LIST[i].emit('addToChat',playerName+':connected');
}
}否则{
emit('signInResponse',{success:false});
}
});
});
socket.on('signUp',函数(数据){
IsUsernameTake(数据、函数(res){
如果(res){
emit('signUpResponse',{success:false});
}否则{
addUser(数据,函数(){
emit('signUpResponse',{success:true});