小编Joa*_*all的帖子

Clojure获取嵌套映射值

所以我习惯在我的应用程序中使用嵌套数组或设置图.我尝试在Clojure中设置一个像这样:

(def gridSettings
  {:width 50
   :height 50
   :ground {:variations 25}
   :water {:variations 25}
   })
Run Code Online (Sandbox Code Playgroud)

我想知道你是否知道检索嵌套值的好方法?我试着写作

(:variations (:ground gridSettings))
Run Code Online (Sandbox Code Playgroud)

哪个有效,但它是后缀并且相当繁琐,特别是如果我添加几个级别.

clojure

15
推荐指数
3
解决办法
6648
查看次数

如何使用emscripten将文件从C保存到浏览器存储

我用来在浏览器中运行我的游戏游戏引擎运行 lua,从我的游戏中,我使用普通的 fopen/write/fclose 保存文件。引擎C/C++代码通过emscripten编译成JS。让这些文件写入最终存储在本地存储中或浏览器缓存位置中的其他一些的好方法是什么?我在网上搜索并查看了文档,但信息非常稀少,我没有找到任何关于它应该如何工作的明确答案。

游戏引擎的先前贡献者在 emscripten 构建中添加了一个 js 库,该库将覆盖fclose以回调到 javascript。但是这个 fclose 覆盖似乎不再被调用,它根本不包含在最终的 .js 文件中。

emscripten

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

Objective-C++导入C++类失败,找不到cassert

所以我想在我的cocos2d + box2d项目中公开公开一个指向其他Objective-C++类的Box2D(C++)指针.我在我的界面中声明了一个方法"getWorld",它引用了C++类b2World并导入了Box2D.h.我项目中的所有文件都是.mm扩展名,我收到以下编译错误:

In file included from DebugDrawLayer.mm:2:
In file included from World.h:10:
In file included from external/Box2d/Box2D/Box2D.h:34:
external/Box2d/Box2D/Common/b2Settings.h:22:10: fatal error: 'cassert' file not found
#include <cassert>
Run Code Online (Sandbox Code Playgroud)

我猜Box2D.h以某种方式编译为C而不是C++,但我不明白这是怎么发生的.根据日志,包含链明显从.mm文件开始.

更新:

对于World.mm(之前编译)的日志说明它明确编译为objective-c ++

CompileC Objects-normal/i386/World.o World.mm normal i386 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler 
Run Code Online (Sandbox Code Playgroud)

但对于DebugDrawLayer.mm,它表示objective-c

CompileC Objects-normal/i386/DebugDrawLayer.o DebugDrawLayer.mm normal i386 objective-c com.apple.compilers.llvm.clang.1_0.compiler
Run Code Online (Sandbox Code Playgroud)

这两个文件都设置为默认值 - Objective-C++ source.是什么赋予了..?

objective-c objective-c++ cocos2d-iphone box2d-iphone ios

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