我在app.js中定义了这三个路由
app.use('/', require('./routes/index'));
app.use('/LEDon', require('./routes/LEDon'));
app.use('/LEDoff', require('./routes/LEDoff'));
Run Code Online (Sandbox Code Playgroud)
在我的路线文件中,我有以下内容:
var express = require('express');
var router = express.Router();
var Gpio = require('onoff').Gpio,
led = new Gpio(17, 'out');
router.get('/', function(req, res, next) {
led.writeSync(1);
});
module.exports = router;
Run Code Online (Sandbox Code Playgroud)
因此,当我进入/ LEDon页面时,该方法运行并且一切正常.是否可以在不使用get请求的情况下运行方法?我的主要目标是只需单击一个超链接,然后运行该方法..
我有很多不同的精灵节点,物理体与对象的大小相同.对于定位,我需要更改节点的锚点,但这也会改变物理体的位置.有没有办法让物理体的锚点居中?使用物理体的路径是没有选择的,因为我有很多不同的对象.
我在myScene.h中有以下代码:
#import <AVFoundation/AVFoundation.h>
Run Code Online (Sandbox Code Playgroud)
而这个代码在touchBegin方法中:
[self runAction:[SKAction playSoundFileNamed:@"fire.m4a" waitForCompletion:NO]];
Run Code Online (Sandbox Code Playgroud)
音频文件位于主文件夹中.当我运行应用程序并触摸应用程序关闭时,我收到以下错误:
Terminating app due to uncaught exception 'Missing Resource', reason: 'Resource fire.m4a cannont be found in the main bundle'
Run Code Online (Sandbox Code Playgroud)
我认为这是在Sprite Kit中播放音频的方法,但我一定是做错了什么..
我的场景中有一个物体.当我触摸屏幕时,我希望对象的y位置成为我触摸的y位置.为此,我有以下代码:
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
SKNode *player = [self childNodeWithName:@"player"];
UITouch *touch = [touches anyObject];
CGPoint positionInScene = [touch locationInNode:self];
player.position = CGPointMake(player.position.x, positionInScene.y);
}
Run Code Online (Sandbox Code Playgroud)
它适用于此代码,但如何让对象以稳定的速度移动到触摸位置?因此,不是跳到触摸y位置,而是以预定义的速度移动到它.
我想根据您是否触摸屏幕的左半部分或右半部分来执行不同的操作.触摸左半部分时的动作,触摸右半部分时的动作.
我想我可以创建一个覆盖屏幕一半的透明按钮图像,并在触摸时使用此代码执行操作,但我不认为这是要走的路.有没有更好的方法来检测触摸的位置?
我有两个Sprite节点:
-(void)createPlayer {
SKSpriteNode *player = [SKSpriteNode node];
player.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:enemy.size];
player.physicsBody.categoryBitMask = playerCategory;
player.physicsBody.contactTestBitMask = enemyCategory;
player.position = CGPointMake(100, 160);
player.name = @"player";
player.zPosition = 100;
[self addChild:player];
}
-(void)createEnemy {
SKSpriteNode *enemy = [SKSpriteNode node];
enemy.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:enemy.size];
enemy.physicsBody.categoryBitMask = enemyCategory;
enemy.physicsBody.contactTestBitMask = playerCategory;
enemy.position = CGPointMake(300, 160);
enemy.name = @"player";
enemy.zPosition = 100;
[self addChild:enemy];
}
Run Code Online (Sandbox Code Playgroud)
以及MyScene.h中的以下内容
static const uint32_t playerCategory = 0x1 << 0;
static const uint32_t enemyCategory = 0x1 << 1;
Run Code Online (Sandbox Code Playgroud)
如何检测他们是否联系,以便我可以通过联系添加操作?