Sorry about the poor question title, it's just that this seems to big for a title. So here's the dirt:

I am making a game (obviously) and I want the enemies to shoot (not necessarily at the player). I want the shoot method to be in the Enemies file, so as not to clutter up my HelloWorldLayer.m file even more. Here's what I'm using right now:

I had a similar problem with "CCCallFunc". It turned out I needed to be using "CCCallFuncN" instead, confusing because they are so similarly named. I would try replacing the line of code it's tripping up on with

What is "the problem"? Why does using CCCallFuncN instead of CCCallFunc fix it?
–
JimMar 30 '12 at 0:44

CCCallFunc calls a selector, CCCallFuncN calls a selector with the Node as a parameter. As I understand it, if you just need to run a method, CallFunc is fine, but if you need to run something for this element (that just finished moving, say) then you use CallFuncN so you have a reference to that node.
–
Brian BroomDec 17 '12 at 10:32