小编Har*_*men的帖子

86
推荐指数
6
解决办法
2万
查看次数

如何将字符串转换为unicode字符?

在Javascript '\uXXXX'中以unicode字符返回.但是当XXXX部件是变量时,如何获得unicode字符?

例如:

var input = '2122';
console.log('\\u' + input);             // returns a string: "\u2122"
console.log(new String('\\u' + input)); // returns a string: "\u2122"
Run Code Online (Sandbox Code Playgroud)

我能想到让它发挥作用的唯一方法就是使用eval; 但我希望有更好的解决方案:

var input = '2122';
var char = '\\u' + input;
console.log(eval("'" + char + "'"));    // returns a character: "™"
Run Code Online (Sandbox Code Playgroud)

javascript unicode

33
推荐指数
4
解决办法
5万
查看次数

保存等距游戏的平铺数据的最有效方法

我正在开发一款支持快速浏览器的等距游戏,<canvas>非常有趣.为了保存每个图块的信息,我使用一个二维数组,其中包含代表图块ID的数字,如:

var level = [[1, 1, 1, 2, 1, 0],
             [0, 1, 1, 2, 0, 1],
             [0, 1, 1, 2, 1, 1]];

var tiles = [
    {name: 'grass',  color: 'green'},
    {name: 'water',  color: 'blue'},
    {name: 'forest', color: 'ForestGreen'}
];
Run Code Online (Sandbox Code Playgroud)

到目前为止,它的效果很好,但现在我想在这张照片中使用高度和斜率: alt text http://harmen.no-ip.org/isometrictiles.png

对于每个瓷砖,我需要保存它的瓷砖ID,高度和有关哪些角向上翻转的信息.

我想出了一个关于所有四个角的按位表示的简单想法,如下所示:

1011 // top, bottom and left corner turned up
Run Code Online (Sandbox Code Playgroud)

我的问题是:为每个单元格保存这三个值的最有效方法是什么?是否可以将这三个值保存为一个整数?

javascript isometric

32
推荐指数
1
解决办法
2597
查看次数

您是应该使用innerHTML将DOM添加到DOM还是逐个创建新元素?

将HTML代码添加到DOM有两种方法,我不知道最好的方法是什么.

第一种方法

第一种方式是简单的方法,我可以简单地添加HTML代码(使用jQuery)$('[code here]').appendTo(element);,这很像element.innerHTML = [code here];

第二种方法

另一种方法是逐个创建所有元素,如:

// New div-element
var div = $('<div/>', {
              id: 'someID',
              class: 'someClassname'
          });

// New p-element that appends to the previous div-element
$('<p/>', {
    class: 'anotherClassname',
    text: 'Some textnode',
}).appendTo(div);
Run Code Online (Sandbox Code Playgroud)

此方法使用核心功能,如document.createElementelement.setAttribute.

什么时候应该使用第一种方法,何时使用第二种方法?方法二比方法一快吗?

编辑 - 速度测试的结果

我做了三个速度测试,代码如下:

$(document).ready(function(){
    // jQuery method - Above mentioned as the second method
    $('#test_one').click(function(){
        startTimer();
        var inhere = $('#inhere');
        for(i=0; i<1000; i++){
            $(inhere).append($('<p/>', {'class': 'anotherClassname' + i, text: 'number' …
Run Code Online (Sandbox Code Playgroud)

javascript jquery dom createelement

17
推荐指数
1
解决办法
4702
查看次数

在Javascript中处理多个关键事件的最佳方法是什么?

在游戏中按空格键会进行角色拍摄,当显示确认框时按空格键会使此框消失,按高分形式按空格键将在输入框中添加空格.在此示例中,同一个键有几个事件,但一次只触发一个事件.

是否有一般(或特定于Javascript)方法或编程方式将事件添加到某个键,所以它们只在某些情况下执行?

当然可以这样做:

var inGame = true|false;
var inConfirmationBox = true|false;

function spaceBarHandler(){
    if(inGame){ /*shoot*/}
    else if(inConfirmationBox){ /*remove box*/}
}

document.onkeydown = function(){ /* call space bar handler if space bar was pressed */ };
Run Code Online (Sandbox Code Playgroud)

但这是一种非常混乱的编程方式,因为特定的动作在空格键处理函数中混合在一起,这使维护变得困难.

处理一个键的多个事件的最佳方法是什么,以便这些事件仅在某些情况下触发?

javascript events event-handling

10
推荐指数
1
解决办法
1647
查看次数

"浏览器游戏的未来"有多安全?

HTML5将被广泛采用作为设计游戏的一种方式,是预测.但我对此有疑问:在线HTML5游戏怎样才能安全

让我举个例子:想象一下这个平台游戏,你赢得徽章,例如,一个非常难的水平.当您实际赢得此徽章时,会向服务器发出请求,以便更新您的在线个人资料.对于黑客来说,只要发送此请求并获得徽章,而不玩真正的游戏,这不是非常简单吗?因为:

  • 客户端源代码是可见的,无法隐藏
  • 可以从命令行执行Javascript

我没有办法阻止这个黑客获得他的徽章......有没有办法让这个游戏安全?

javascript security html5

10
推荐指数
1
解决办法
1433
查看次数

在Google Chrome扩展程序中使用jQuery.ajax

我使用jquery.ajax函数将谷歌浏览器扩展程序中的数据发布到我的网络服务,如下代码所示:

$.ajax({
            type: "POST",
            url: serviceUrl,
            data: data,
            success: function(msg){
                if(typeof(Me.config.onSumitted) == "function"){
                    Me.config.onSumitted(msg);
                }
           },
           error: function(){
                if(typeof(Me.config.onError) == "function"){
                    Me.config.onError();
                }
           }
         });
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误:

XMLHttpRequest cannot load http://todomain.com/Service.asp. Origin http://fromtabdomain.com is not allowed by Access-Control-Allow-Origin.
Run Code Online (Sandbox Code Playgroud)

我怎么解决它?

jquery google-chrome-extension

10
推荐指数
2
解决办法
2万
查看次数

优化文本添加和删除列表

我有一个包含文本添加和删除位置的列表,如下所示:

     Type   Position   Text/Length
1.   +      2          ab          // 'ab' was added at position 2
2.   +      1          cde         // 'cde' was added at position 1
3.   -      4          1           // a character was deleted at position 4
Run Code Online (Sandbox Code Playgroud)

为了更清楚,这就是这些操作将要做的事情:

    1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
    ---------------------------------
    t | e | x | t |   |   |   |   |  
1.  t | a | b | e | x | …
Run Code Online (Sandbox Code Playgroud)

algorithm optimization text-processing

9
推荐指数
1
解决办法
231
查看次数

什么是游戏时间?实时或帧?

我是第一次设计游戏,但我想知道游戏时间的基础.它是基于时钟还是依赖于帧?(注意:我不确定'游戏时间'这里是否是正确的词,如果不是,请纠正我)

更清楚的是,想象一下这些场景:

  1. 计算机1速度快,高达60fps
  2. 计算机2很慢,不超过30fps

在两台计算机上播放相同的游戏,其中角色以相同的速度行走.

如果游戏时间基于帧,则角色在计算机1上的移动速度是原来的两倍.另一方面,如果游戏时间基于实际时间,计算机1将显示两倍的帧,但角色移动速度一样快就像在电脑上2.

我的问题是,处理游戏时间的最佳方法是什么,优点和缺点是什么?

language-agnostic

6
推荐指数
2
解决办法
753
查看次数

如果链接包含href中的某些内容,则将href更改为this

我想检查href是否包含"即将推出",如果它确实更改了href以转到我的产品页面:

$('a[href$="coming-soon"]').attr('href', '/products.aspx');
Run Code Online (Sandbox Code Playgroud)

不能解决这个问题.

javascript jquery href

6
推荐指数
1
解决办法
9129
查看次数