ShinyCocos is an easy way to create games using Cocos2D-iPhone and ruby scripting language. Embedded with your application is a ruby 1.9 interpreter, and ShinyCocos is just a library that easily binds ruby classes and modules to their corresponding Cocos2D classes.
You can go to it's project page in http://github.com/funkaster/shinycocos and then click on the downloads tab. You can also get the latest (probably unstable) version using git.
Sure. For the latest “stable” release, the documentation is located in http://funkaster.github.com/shinycocos/. This documentation is automatically generated from sources.
ShinyCosos has one TestProject, which tries to test almost every feature implemented. You should check it out.
Open ShinyCocos.xcodeproject and hit “build”. In order to add ShinyCocos to your own project, you could either add the static library generated, or add the project as a sub-project (this is how the TestProject.xcodeproject links ShinyCocos).
Before hitting compile, you need to place a copy of the latest Cocos2D-iphone (currently 0.8.1) in the root directory of the project.
Go to the issues section of the github project's page and create a new issue.
You need at least the following frameworks:
Given the recent issue #17, I think that CallFunc(ND) is not needed. You can get away thinking in a more rubyish way.
Think of this: CallFunc(ND) is to call a function on a given target. In ruby, that's easy: just call the send method on the given object.
What if you need to call that function in the middle of a sequence, or at the end of an action? Easy. In ShinyCocos, you can override the stop method on any action. If you don't want to subclass an action just to override the method, you can always use the singleton class of an instance:
action = Actions::MoveBy.new(1.0, [35.0, 0]) # move horizontally by 35 pixels class << action def stop # this will be called when the action stops end end # or the alternative, shorter syntax def action.stop # this will be called when the action stops end