Skip to content

Latest commit

 

History

History
executable file
·
54 lines (36 loc) · 2.19 KB

README.markdown

File metadata and controls

executable file
·
54 lines (36 loc) · 2.19 KB

xc.js - a Javascript framework for cross platform 2d games

This project is not maintained.

If you're interested in a cross platform JavaScript game framework, check out the GameClosure Devkit

Building xc.js

xc.js requires node.js, coffeescript (0.9.5 or later), and Ruby for the build utility.

From the root directory, run cake:
$ cake build
xc.js built.

You can also run some unit tests: $cake test

Using xc.js

To create an xc.js project, use the xc.rb utility:

$ ruby xc.rb myProject create will create a directory named myProject. The directory contains:

myProject/  
	lib/  
	resources/  
	config.xc  
	index.html  
	main.js  
	xc.rb  

The lib directory contains the xc.js framework.

The resources directory is where images and other media are stored. Images put in the resources directory will automatically be added to an xc.js project.

config.xc is the project configuration file. You can specify a resolution when creating a project by appending it to the create command myProject create 800x600. If you don't, you can change the resolution in config.xc.

index.html is the file where your canvas game will be loaded. It is automatically updated whenver you run the development server so any new resources or other changes will automatically be available.

main.js is the entrypoint of your xc.js game. It contains the main() function, which will be called to start the game.

xc.rb is a utility you can use to do various tasks. The most useful is

$ ruby xc.rb server which will start a development server. You can then access your xc.js project with a webrowser at localhost:8000.

Adding a new backend

xc.js is designed to be easy to port to new platforms. All that is required is a new xc_platform.coffee file for the new platform. Platform compat source is in the src/compat directory.

The canvas implementation, in xc_canvas.coffee is documented and should provide a good starting point for a new backend.