我试图在回合制游戏中实现一个事件监听器,这样玩家可以在轮到他或者被朋友邀请时接收.在IOS 7中不推荐使用GKTurnBasedEventHandler,我在文档中读到了我应该使用的GKLocalPlayerListener; 但这是它的延伸.是否有人使用过它,因为任何地方都没有信息.
这是我以前尝试过的,它不起作用.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
[localPlayer authenticateWithCompletionHandler:^(NSError *error)
{
if (localPlayer.isAuthenticated)
{
GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer];
[localPlayer registerListener:self];
}
}];
return YES;
}
-(void)handleInviteFromGameCenter:(NSArray *)playersToInvite
{
NSLog(@"test");
}
- (void)player:(GKPlayer *)player receivedTurnEventForMatch:(GKTurnBasedMatch *)match didBecomeActive:(BOOL)didBecomeActive
{
NSLog(@"test");
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个用户堆叠不同几何形状的应用程序.在加载到ARSCNView内的.scn文件中,我插入一个静态平面,然后在用户的每次点击时,应用程序插入一个动态SCNNode.
第一个节点插入平面上方几英寸处,以复制掉落的物体.然后,每个其他节点都被丢弃在另一个节点之上.
这是该应用程序的主要思想; 在添加3个或4个节点后出现问题,它们看起来互相滑动,几乎抖动,整个结构崩溃.
这是我插入的节点:
let dimension: CGFloat = 0.075
let cube = SCNBox(width: dimension, height: dimension, length: dimension, chamferRadius: 0.0)
let node = SCNNode(geometry: cube)
node.physicsBody = SCNPhysicsBody(type: SCNPhysicsBodyType.dynamic, shape: nil)
node.physicsBody?.mass = 2.0
node.physicsBody?.friction = 1.0
node.physicsBody?.restitution = 0.01
node.physicsBody?.damping = 0.0
node.physicsBody?.angularDamping = 0.0
node.physicsBody?.rollingFriction = 1.0
node.physicsBody?.allowsResting = true
let insertionYOffset = 0.3
node.position = SCNVector3(hitResult.worldCoordinates.x, hitResult.worldCoordinates.y + Float(insertionYOffset), hitResult.worldCoordinates.z)
Run Code Online (Sandbox Code Playgroud)
我试图使用这些值,这些是最好的,但它们不足以创建稳定的块结构.
作为一项要求,我需要保持块的动态,它们需要受到重力,风等的影响.
我有一个UIViewController *menuController
我调用的地方NSObject
class *parserClass
所以我的应用程序开始解析xml并NSDictionary
从结果中创建一个.我想回到menuController
那本字典.
在menuController
我这样做:
[parserClass startParsing:link];
然后在parserClass中一切正常,但我怎样才能将创建的字典返回给视图控制器.
现在我正在进行以下操作,但我现在不是最好的方法:
有更好的想法吗?谢谢.
我喜欢块建议,但如果解析器在到达下面的comp行之前没有完成,该怎么办:
(void)startParsing:link withCompletionBlock:(myCompletion)comp {
parser = [[NSXMLParser alloc] initWithContentsOfURL:[NSURL URLWithString:link]];
[parse setDelegate:self]; [解析解析];
Run Code Online (Sandbox Code Playgroud)comp(results);
}