Ios 如何在SpriteKit中添加突出显示的按钮?
我知道如何在Ios 如何在SpriteKit中添加突出显示的按钮?,ios,objective-c,sprite-kit,skspritenode,Ios,Objective C,Sprite Kit,Skspritenode,我知道如何在SpriteKit中添加按钮 我已经使用了SKSpriteNode。 但是,我不知道如何添加突出显示按钮,如UIButton 我的意思是,当我按下SKSpriteNode(按钮)时,我想从UIKit中显示突出显示的图像,如UIButton 我该怎么做 这是我的代码,用于按钮和SKSpriteNode self.playButton = [SKSpriteNode spriteNodeWithImageNamed:@"playButton.png"]; self.playButton.
SpriteKit
中添加按钮
我已经使用了SKSpriteNode
。
但是,我不知道如何添加突出显示按钮,如UIButton
我的意思是,当我按下SKSpriteNode(按钮)
时,我想从UIKit中显示突出显示的图像,如UIButton
我该怎么做
这是我的代码,用于按钮
和SKSpriteNode
self.playButton = [SKSpriteNode spriteNodeWithImageNamed:@"playButton.png"];
self.playButton.position = CGPointMake(self.frame.origin.x + 400, 100);
self.playButton.name = @"playButton";
self.playButton.zPosition = 2;
[self addChild:self.playButton];
您可以使用方法
-(void)didMoveToView:(SKView*)view
中的view属性在SK中创建UIButton
所有UIButton功能(包括突出显示)都可以访问。一个解决方案是创建两个SKSpritodes,一个用于活动状态,一个用于默认状态,并将它们添加到视图中 在touchesMoved和ToucheSensed方法中,相应地隐藏和取消隐藏活动和默认按钮
Swift教程。我试过了,得到了你想要的东西
BOOL isMySpriteNodeTouched = NO;
mySprite = [[SKSpriteNode alloc]initWithImageNamed:@"ball"];
mySprite.position = CGPointMake(self.size.width/2.0f, self.size.height/2.0f);
mySprite.name = @"mySprite";
[self addChild:mySprite];
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
for (UITouch *touch in touches)
{
CGPoint touchPoint = [touch locationInNode:self];
SKNode *localNode = [[SKNode alloc]init];
localNode = [self nodeAtPoint:touchPoint];
if ([localNode.name isEqualToString:mySprite.name])
{
mySprite.texture = [SKTexture textureWithImage:[UIImage imageNamed:@"highlightedBall"]];
isMySpriteNodeTouched = YES;
}
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
if(isMySpriteNodeTouched)
{
isMySpriteNodeTouched = !isMySpriteNodeTouched;
mysprite.texture = [SKTexture textureWithImage:[UIImage imageNamed:@"ball"]];
}
}
这个代码在场景中工作?如果我需要分开分类的板条箱按钮怎么办?看看这个