updated 修改游戏碰撞事件
This commit is contained in:
parent
8848cbf001
commit
1401c8c861
5
game.js
5
game.js
@ -242,10 +242,9 @@ function Game(id,options){
|
||||
return item;
|
||||
};
|
||||
//获取对象列表
|
||||
Stage.prototype.getItemsByType = function(){
|
||||
var types = Array.prototype.slice.call(arguments,0);
|
||||
Stage.prototype.getItemsByType = function(type){
|
||||
var items = this.items.filter(function(item){
|
||||
if(types.indexOf(item.type)>-1){
|
||||
if(item.type==type){
|
||||
return item;
|
||||
}
|
||||
});
|
||||
|
15
index.js
15
index.js
@ -106,16 +106,13 @@
|
||||
update:function(){
|
||||
if(this.map){
|
||||
var stage = this;
|
||||
var items = this.getItemsByType(1,2);
|
||||
var hash = {}; //当前对象位置分布
|
||||
var player = this.getItemsByType(1)[0];
|
||||
var items = this.getItemsByType(2);
|
||||
items.forEach(function(item){
|
||||
var key = 'x'+item.coord.x+'y'+item.coord.y; //坐标的标识
|
||||
if(hash[key]){
|
||||
if(hash[key]!=item.type){ //如果NPC与玩家相遇
|
||||
stage.status = 2;
|
||||
}
|
||||
}else{
|
||||
hash[key] = item.type;
|
||||
var dx = item.x-player.x;
|
||||
var dy = item.y-player.y;
|
||||
if(dx*dx+dy*dy<750){
|
||||
stage.status = 2;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user