gpt4 book ai didi

objective-c - Objective-C 中指向对象的方法

转载 作者:行者123 更新时间:2023-12-04 07:09:08 25 4
gpt4 key购买 nike

我使用 spriteclass 创建了一些 sprite,并将它们加载到数组中。在我的应用程序中,我循环检查特定条件(位置等)的数组。我想创建一个爆炸方法,我可以将这些对象之一传递给,然后使用指针拉动屏幕上对象的位置并在那里显示爆炸。我不知道如何将数组中的指针/对象传递给要使用的方法。

这基本上是我想到的:

for (int i=1; i<4; i++) {

EnemySprite *currentenemy = [enemies objectAtIndex:i-1];

//Blow this guy up
[self explosion:currentenemy]
}


-(void)explosion someobject {

explosion.position = someobject.position

someobject.setHidden=YES;

}

最佳答案

你会这样写一个参数

// definition
-(void) explosion:(EnemySprite*) someObject
{

}

// usage
[self explosion: object];

对于两个参数,事情有点复杂。考虑;
// definition
-(void) explosion:(EnemySprite*) someObject radius:(float)explosionRadius
{
...
if (pos < explosionRadius)
...
}

// usage
[self explosion: object radius:10.0f];

: 之前的所有内容都用于外部名称,之后的所有内容都是函数内部的名称。

这就是为什么你会经常看到 Objective-C 函数的函数名以第一种类型的名称结尾:
-(void) explodeSprite:(EnemySprite*) sprite radius:(float)radius;

在编写函数时, Sprite 和半径参数似乎都被“命名”了;
[self explodeSprite:sprite radius:10.0f];

关于objective-c - Objective-C 中指向对象的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/647028/

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