小编Mic*_*fen的帖子

javascript中对象内的对象

我对Javascript有些新意,所以也许这只是一个noob错误,但我没有找到任何特别有助于我环顾四周的东西.我正在写一个游戏,我正在尝试为暂停菜单构建一个对象.

我想做的其中一件事是,为了组织起见,菜单上的按钮是pause_menu对象内的对象.我最终要为这些对象添加事件处理程序,我也想在pause_menu对象中执行此操作.有些按钮尚未完全编码,但我希望在继续操作之前至少可以使用一些按钮.

我正在使用Raphael.js v1.5.2渲染形状.拉斐尔的东西适用于界面的其余部分,但是代码并不像这样令人愉快,所以类似的东西对我来说会更好.

我目前的问题是,当我执行var pause_menu = new pause_menu()时,实际上没有任何渲染.

这是我到目前为止暂停菜单的代码:

//Pause Menu Object:
function pause_menu() {

    function pause_button() {
        this.button = game.rect(0, 350, 150, 50, 5);
        this.text =  game.text(75, 375, 'PAUSE');
    }
    function resume_button() {
        this.button;
        this.text;
    }
    function quit_button() {
        this.button;
        this.text;
    }
    this.pause_button = new pause_button(); //the button that the user presses to pause the game (I want an event handler on this to trigger .show() method for presently hidden menu items)
    this.resume_button = new resume_button();
    this.quit_button = …
Run Code Online (Sandbox Code Playgroud)

javascript nested object javascript-objects

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

如何让C预处理器在编译期间执行代码?

我目前正在开发一个代码项目,要求我用这些字符串的哈希值替换某些字符串.看到这些字符串在运行时不会改变,因此让c预处理器在我声明在编译时进行哈希处理的每个字符串上运行我的哈希函数将是有利的,效率明智的.

有没有办法让C预处理器在编译时运行我的哈希函数?

我知道这不会像我上面描述的那样工作,但只是想知道我要去哪里,这里有一些使用宏的伪代码.想象一下,预处理器不是简单地扩展宏,而是运行哈希函数并将其扩展为该哈希函数的返回值:

    #include <iostream>
    #include <string>

    #define U64_HASH(inputString) getU64HashCode(inputString)

    //my hash function
    unsigned long long getU64HashCode (string inputString)
    {
        /*code*/
    }

    int main()
    {
        cout << U64_HASH("thanks for helping me") << endl;
        return 0;
    }
Run Code Online (Sandbox Code Playgroud)

再次,理想情况下,cout << U64_HASH("thanks for helping me") << endl;将扩展到cout << 12223622566970860302 << endl;

我写了一个头文件生成器,这对这个项目很好.

最终解决方案

我决定在这个项目中使用John Purdy的perl脚本,因为它非常棒,并且允许我将我想要的输出直接提供给我的编译器.非常感谢,约翰.

c++ c-preprocessor

8
推荐指数
2
解决办法
2150
查看次数

'vagrant ssh -c COMMAND'行为与'vagrant ssh'会话中运行命令不同

这有效:

vagrant ssh
cd /vagrant && grunt build
Run Code Online (Sandbox Code Playgroud)

这不是:

vagrant ssh -c 'cd /vagrant && grunt build'
Run Code Online (Sandbox Code Playgroud)

(退出bash: grunt: command not found)

为什么?

我要问的原因是我有一个shell脚本将站点部署到GitHub页面,我想在开始时添加一个构建步骤,以便在部署之前获得新的构建.

我也试过编写一个shell脚本,vagrant_build.sh如:

cd /vagrant
grunt build
Run Code Online (Sandbox Code Playgroud)

和流浪者一起跑vagrant ssh -c 'bash /vagrant/vagrant_build.sh',但它仍然找不到grunt.

文档说只vagrant ssh -c COMMAND运行一个命令,我需要从字面上理解100%吗?我把它解释为"你可以在一个终端中安装的任何东西".

ssh bash vagrant gruntjs

5
推荐指数
1
解决办法
3930
查看次数

文件浏览器访问Chrome的沙盒文件系统

我正在编写一个Google Chrome应用,可以使用HTML5 FileSystem API在本地存储内容.有没有办法使用Windows资源管理器访问Chrome存储这些文件的目录,还是完全虚拟且无法从应用程序外部访问?我无法通过四处寻找目录,也没有在网上看到任何参考资料.

我想我可以在应用程序中编写一些内容,以便对我的应用程序存储的文件进行GUI管理,或者只使用开发人员控制台,但使用WE确实可以节省时间.

filesystems html5 google-chrome html5-filesystem

4
推荐指数
1
解决办法
4526
查看次数

EventKit,保存事件时出错:无法更改重复字段.

我正在构建一个日历应用程序,并且在尝试保存某些事件时偶尔会遇到一个奇怪的错误.我还没有能够可靠地产生一个复制问题的事件,但我很幸运(如果你可以称之为)再次遇到这个bug.

问题是,当我保存某些事件时,他们拒绝保存其重复规则.大多数事件保存完全没问题,从来没有问题.

我在下面包含了我的调试输出.第一部分EVENT描述了事件对象在打开进行编辑时的情况.第二部分,EVENT TO SAVED,描述事件对象就在它被保存之前.最后一节"EVENT SAVING ERROR"描述了该EKEventStore saveEvent:span:commit:error:方法设置的误差.

任何帮助将非常感激.

2013-12-23 11:47:23.641 planner[4360:60b] EVENT: EKEvent <0x1554d5d0>
{
     EKEvent <0x1554d5d0>
{    title =        Test repeat m; 
     location =     ; 
     calendar =     EKCalendar <0x1564cfc0> {title = Calendar; type = Local; allowsModify = YES; color = #CC73E1;}; 
     alarms =       (null); 
     URL =          (null); 
     lastModified = 2013-12-23 17:31:29 +0000; 
     timeZone =     America/Chicago (CST) offset -21600 
}; 
     location =     ; 
     startDate =    2013-12-23 07:00:00 +0000; 
     endDate =      2013-12-23 08:00:00 +0000; 
     allDay =       0; 
     floating …
Run Code Online (Sandbox Code Playgroud)

ios eventkit ekevent

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

奇怪的c ++变量声明错误,说一个类本身就是一个私有成员

我正在研究一个解析器来构建抽象语法树.

我的所有节点都有这个Node基类.

// Base for all nodes
class Node {
  public:
    virtual ~Node();
    virtual int position() = 0; // code string index of first character associated with this Node
    virtual int end() = 0; // code string index of first immediately after the last character associated with this Node
};
Run Code Online (Sandbox Code Playgroud)

其中一个子类是表达式节点:

// Expression node
class ExpressionNode: Node {
  public:
    virtual ~ExpressionNode();
    virtual int position() = 0;
    virtual int end() = 0;
};
Run Code Online (Sandbox Code Playgroud)

其中一个子类是一个标识符节点,我在其中一个成员上遇到一个非常奇怪的错误:

// Identifier Expression
class IdentNode: ExpressionNode { …
Run Code Online (Sandbox Code Playgroud)

c++

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