fantomCX- A game framework for Cerberus X (mojo2)

MikeHart

Administrator
Staff member
Administrator
#1
Hi folks,

this is my game framework called fantomCX. It is using mojo2.

To download it, go to its GitHub release page here: https://github.com/MikeHart66/fantomCX/releases

It ships will numberous examples and a good sized documentation which you can also find here: http://fcxdocs.fantomgl.com/

Here is a quick feature list:

  • Various objects like images, tile maps, graphic primitives, sounds, collision zones and layers.
  • Automatic processes to create, update and render objects.
  • Callback methods which are called during the handling of an object, layer, timer and transitions.
  • Layer transitions with callback methods.
  • Object transitions for position, rotation, scaling and alpha values with callback methods.
  • Several equation and ease types for object and layer transitions.
  • Object timers with callback methods.
  • Different collision methods with callback methods.
  • Touch input handling with callback methods.
  • Organize your objects in layers.
  • Automatic content scaling via providing a virtual canvas setup.
  • Simple high-score list loading, saving and updating.
  • Simple sound loading which handles the proper file extension depending on the chosen platform.
  • Support for bitmap font text objects which load EzGUI font descriptions.
  • Build-in frames per second calculator.
  • Extensive handling methods for the engine's objects.
  • Simple camera support which you can move around to render parts of your scenery.
  • Support for texture maps (atlas) created by the tool TexturePacker.
  • Support for tile maps created by the tool Tiled.
  • Engine time scaling supporting object updates, timers and transitions.
  • Automatic swipe gesture detection with event method.
  • Path/Waypoint handling. Let your objects follow them.
  • A pathfinding* und user definable grids of nodes. It doesn't have to be a grid of squares!
  • Easy integration of Box2D powered physics including ray casting. Physics definition created by the tool PhysicsEditor are supported too.
  • Localize your game easily with easy support of multiple languages.
  • Support different key maps for different controllers or user definitions.
  • Embedded objects inside a Tiled map will be stored and are accessable.
  • Easy scene/room management.
  • Objects can be composed of several single images.
  • Automatic object pooling.
  • Custom GUI elements
 
Last edited:
#5
Tiled examples crash, cftEngine.csx
Code:
If Image.Load(dataTileSet.GetItem("image"),0.5,0.5,Image.Filter)<> Null Then
                obj.objImg[tileSheetIndex] = imgMng.LoadImage(path + dataTileSet.GetItem("image"), tlW, tlH, (imgH/tlH)*(imgW/tlW), Image.Filter)
            Else
                obj.objImg[tileSheetIndex] = imgMng.LoadImage(path + ftStripDir(dataTileSet.GetItem("image")), tlW, tlH, (imgH/tlH)*(imgW/tlW), Image.Filter)
            Endif
Listview crash, cftGui.csx line 292
Code:
Local obj:=Self.engine.CreateImage(Self.objImg[1],Self.GetPosX(), Self.GetPosY()-Self.GetHeight()/2-20+80*(Self.GetChildCount()+1))
Everything else i tested works fine but i'm really interested in the Tiled examples.
 
Last edited:
#11
These are some errors I found while going through the fantomCX examples. This might help for the next fantomCX update, whenever that might be. There is no hurry.

fantomCX examples errors
--------------------------------------------------------------
Gui\Buttons

Cerberus Runtime Error : NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load
'http://localhost:49236/data/font_20.txt'.
--------------------------------------------------------------
Gui\Joysticks

Cerberus Runtime Error : NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load
'http://localhost:49283/data/font_20.txt'.
--------------------------------------------------------------
Gui\Listview

Cerberus Runtime Error : Array index out of range
E:/000/prog/Cerberus/modules_ext/fantomCX/cftGui.cxs<292>
E:/000/prog/Cerberus/modules_ext/fantomCX/cftGui.cxs<444>
E:/000/prog/Cerberus/modules_ext/fantomCX/cftGui.cxs<556>
E:/000/prog/Cerberus-X_-_projects/fantomCX/examples/Gui/Listview/Listview.cxs<63>
E:/000/prog/Cerberus/modules/mojo/app.cxs<89>
--------------------------------------------------------------
Objects\Creation\SpriterObject

E:/000/prog/Cerberus-X_-_projects/fantomCX/examples/Objects/Creation/SpriterObject/SpriterObject.cxs<74> : Error
: Identifier 'SpriterImporter' not found.
--------------------------------------------------------------
TileMaps\DynamicMap

there is a problem because the number shown by setting the text at line 104 is always 1 less than what the tile
itelf is showing

fE.GetCanvas().DrawText("Tile unter mouse at "+x+":"+y+" = "+tileMap.GetTileIDAt(x,y),fE.GetLocalX(10,
False),fE.GetLocalY(30, False))
--------------------------------------------------------------
TileMaps\Tiled - MultiTileSets.cxs

Error - Unable to load image: tiles1.png
Error - Unable to load image: tiles2.png
Error - Unable to load image: isometric_64x64.png
--------------------------------------------------------------
TileMaps\Tiled - Tiled.cxs

Error - Unable to load image: sewer_tileset.png
--------------------------------------------------------------
TileMaps\Tiled - TiledIsometric.cxs

Error - Unable to load image:
../../../../../../../../../../../Applications/Tiled_090_examples/isometric_grass_and_water.png
--------------------------------------------------------------
 
Top Bottom