我在box2d中有一个任意深度的树体结构.当父体碰撞任何东西时,它应该移动它的孩子.另一方面,如果孩子因碰撞而移动,则不应触摸父母.一个身体可以是一个身体的父母,另一个身体可以是另一个身体的父母.
有没有办法在Box2D中实现这个?没有一个关节似乎能够代表这一点,因为它们都是对称的.
使用Xcode/Cocoa和ExtAudioFile API,我试图将AudioBufferList*对象存储起来供以后使用,但是我在重新访问数据时遇到了麻烦.这些对象来自重复的ExtAudioFileRead调用.
我意识到我不能将这些AudioBufferList*对象填充到NSArray中,但我的印象是NSPointerArray可以用于此目的.但是,当在NSPointerArray中存储音频缓冲区列表后尝试访问audioBufferList-> mBuffers [0] .mData时,它们只是将其归零.
我正在将audioBufferLists memcpying到新的audioBufferList对象,因为我正在为每个ExtAudioFileRead调用重用相同的音频缓冲区列表.我不确定这是否足够,并且memcpying void*audioBufferList-> mBuffers [0] .mData对象也没有帮助.
存储这些AudioBufferList*对象的最简单方法是什么?我是在正确的轨道上吗?
我正面临这个奇怪的问题而且我不确定我哪里出错了.
情况:
我有一个MainWindowController类,它将加载要显示的正确的nib.我创建了一个对象并将其更改为IB中的MainWindowController类,并将其与"MainWindowView"笔尖一起使用.
因此,基本上笔尖"MainWindowView"具有自定义视图和侧面的几个按钮,以便用户可以选择要加载的视图,并且它将加载其他相应的笔尖.我在IB中启动时隐藏了mainmenu,所以它只加载MainWindowView和其他nib文件.
然而,在调试时,当我在MainWindowController的awakeFromNib上放置NSLog时,我在控制台中看到它被调用了两次.
在我的项目中,我有一个startupController类和MainMenu.xib以及以下代码.
startUpController.h:
#import <Cocoa/Cocoa.h>
#import "MainWindowController.h"
@interface startupController : NSObject {
MainWindowController *myWindowController;
}
@end
Run Code Online (Sandbox Code Playgroud)
startUpController.m:
#import "startupController.h"
@implementation startupController
-(void)awakeFromNib {
[super init];
if(myWindowController == nil)
myWindowController = [[MainWindowController alloc] initWithWindowNibName:@"MainWindowView"];
[myWindowController showWindow:self];
}
@end
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏.谢谢.
我为 iPhone 编写了一个小型软件合成器。为了进一步调整性能,我使用 Shark 测量了我的应用程序,发现我在转换方面损失了大量时间float/SInt16。
因此,我重写了一些部分,通过预先计算返回“即用型”SInt16样本的查找表来绕过转换。到目前为止效果很好。
目前,我正在尝试重写一些过滤器和我的 ADSR 包络实现,以仅使用整数算术,但我可以使用一些关于如何在没有浮点数的情况下执行乘法/除法的技巧。
我的目标是iPhone 规范格式:
在不使用浮子的情况下将振幅应用于最终样本的好方法是什么?
编辑:
到目前为止我唯一想到的是,我可以通过右移当前样本来除以 2 的幂。
inBuffer[frame] = wavetable[i % cycleLengthInSamples] >> 4;
Run Code Online (Sandbox Code Playgroud)
但我想不出任何优雅的方法来创建平滑的 ADSR 信封。
Edit2:
感谢您的所有精彩回答!
我目前的做法:
SInt16范围SInt32)这似乎有效:)
iphone signal-processing fixed-point core-audio integer-division
我想通过动态构造的键路径访问嵌套的JSON字典。
密钥路径使用标准的JSON点和下标运算符。(.和[x])
例如:
var data =
{"title": "a_title",
"testList": [
{
"testListItemKey": "listitem1"
},
{
"testListItemKey": "listitem2",
"deepTestList": [
{
"testListItemKey": "listitem1",
"testListItemDict":{
"subTitle": "sub_title",
}
}]
}]
}
Run Code Online (Sandbox Code Playgroud)
密钥路径字符串的示例为:
data.feedEntries[0].testList[2].deepTestList[1].testListItemDict.subTitle
Run Code Online (Sandbox Code Playgroud)
到目前为止,我发现的最简单的工作解决方案是使用eval或函数构造函数:
function valueForKeypPath(data, keyPath) {
"use strict";
var evaluateKeypath = new Function('data', 'return data.' + keyPath);
return evaluateKeypath(data);
}
Run Code Online (Sandbox Code Playgroud)
由于我无法完全信任从远程端点接收到的JSON数据,因此我想避免使用evalet.al。
我想在我的应用程序中按时运行.我首先考虑的是系统uptime.由于这看起来很难实现,我很好奇是否有一种简单有效的方法来获取应用程序的运行时间?
以毫秒或时间间隔更好的时间.
我正在尝试在目标路径中压缩文件。一切正常。我的文件被压缩到目标 URL。但问题是当我解压缩时,我的文件在目录中。我不希望我的文件在目录中。当我解压缩时,我想查看我的文件。
这是我的代码:
func zipData() {
let path=NSSearchPathForDirectoriesInDomains(.documentDirectory,.userDomainMask,true).first!
let fileManager = FileManager()
var sourceURL = URL(fileURLWithPath: path)
sourceURL.appendPathComponent("/cropsapdb_up_\(useridsaved)")
var destinationURL = URL(fileURLWithPath: path)
destinationURL.appendPathComponent("/cropsapdb_up_\(useridsaved).zip")
do {
let fm = FileManager.default
let items = try fm.contentsOfDirectory(atPath: sourceURL.path)
guard let archive = Archive(url: destinationURL, accessMode: .create) else {
print("returning")
return
}
for item in items {
sourceURL = sourceURL.appendingPathComponent("/\(item)")
try archive.addEntry(with: sourceURL.lastPathComponent, relativeTo: sourceURL.deletingLastPathComponent())
guard let archive = Archive(url: destinationURL, accessMode: .update) else {
print("returning")
return
}
sourceURL.deleteLastPathComponent()
}
} catch { …Run Code Online (Sandbox Code Playgroud) 在我的视图的"InitWithFrame"方法中,我正在设置一个跟踪区域,我想要捕获鼠标进入/退出事件.
我的问题有两个:
这是我初始化跟踪区域的方式:
trackingArea = [[NSTrackingArea alloc] initWithRect:rect
options: (NSTrackingMouseEnteredAndExited | NSTrackingInVisibleRect | NSTrackingActiveAlways )
owner:self userInfo:nil];
[self addTrackingArea:trackingArea];
Run Code Online (Sandbox Code Playgroud)
任何线索为什么会发生这种情况?我希望只为我视图的一小部分(底部)调用鼠标进入/退出事件.
在OSX SDK中,有没有办法通过显示其图标来表示UI中的文件?换句话说,是否可以访问特定文件的图标,例如在NSImageView中显示它?
PS:我正在使用MonoMac,但Objective-C代码肯定会帮助我:)
提前致谢
cocoa ×5
macos ×3
core-audio ×2
box2d ×1
box2d-joints ×1
c++ ×1
eval ×1
fixed-point ×1
ios ×1
iphone ×1
javascript ×1
json ×1
objective-c ×1
swift ×1
systemtime ×1
zip ×1