Вы бы написали это так для одного параметра
// 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;
И параметры спрайта, и радиус получаются «именованными» при написании функции;
[self explodeSprite:sprite radius:10.0f];