gpt4 book ai didi

ios - SKShapeNode 选择 X 数量

转载 作者:行者123 更新时间:2023-11-29 12:20:00 25 4
gpt4 key购买 nike

问题

我正在开发一些扑克软件 ~ 纯粹是为了好玩。

现在说到筹码,我做噩梦了。一个定位它们,两个面额和三个选择我需要的!这对我当前的设计来说几乎是不可能的。

基本上,我画了一个 skshapenode 给它面额的名称和玩家的名字。不过这个筹码可以抽50次同名。

当我开始为这些芯片制作动画时,我只能看到一堵不可能的墙..

一旦我创建了一个函数来选择正确面额的筹码用于跟注或加注等,我将如何开始编写此伪代码?

I require 2 large chips, 1 small chip and 2 medium chips {
SKNode *node = [self childnodewithname:denomination, playername];

runaction..
}

切记,我只需要拿走筹码堆中 20 个筹码中的 2 个..以及更改筹码的所有权..

这可能吗?还是我把问题严重地复杂化了……?

最佳答案

您需要稍微修改一下您的解决方案。我会做这样的事情:

首先,子类化一个 SKSpriteNode(或任何你喜欢的 SK 节点)来制作芯片:

芯片.h

@interface Chip : SKSpriteNode

@property (nonatomic, retain) NSString *player;
@property int denomination;

@end

芯片.m

@implementation Chip
- (id)initWithColor:(UIColor *)color size:(CGSize)size
{
if(self = [super initWithColor:color size:size])
{
self.name = @"chip";
}

return self;
}

@end

现在您可以合理地枚举和检查一些内容。

在你的游戏场景中添加一堆筹码:

GameScene.m

-(void)didMoveToView:(SKView *)view {
for(int i = 0; i < 50; i++)
{
Chip *chip = [[Chip alloc] initWithColor:[SKColor greenColor]
size:CGSizeMake(100.0, 100.0)];

chip.player = @"some player";
chip.denomination = 10;

[self addChild:chip];
}
}

然后当弹出一定数量的筹码时:

 -(void)popChipsFromPlayer:(NSString *)playerName
ofDenomination:(int)denomination
numberOfChips:(int)numChips
{
__block int i;

[self enumerateChildNodesWithName:@"chip"
usingBlock:^(SKNode *node, BOOL *stop) {
Chip *chip = (Chip *)node;
if(chip.denomination == denomination &&
[playerName isEqualToString:chip.player])
{
if(i==numChips)
return;

SKAction *moveUp = [SKAction moveByX:0.0
y:200.0
duration:3];

[chip runAction:moveUp];

i++;
}
}];
}

调用方法:

  [self popChipsFromPlayer:@"some player"
ofDenomination:10
numberOfChips:3];

关于ios - SKShapeNode 选择 X 数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30929547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com