资源算法Odin.js

Odin.js

2020-02-07 | |  29 |   0 |   0

Odin

Node.js Canvas/WebGL Javascript Game Framework

Examples - Documentation

How to install with npm

// install the odin.js package
// npm package is not updated as much as the github repository
// right now it is better to download from github
$ npm install odin -g

Game

a instance of ClientGame or ServerGame is the base of your app

// on the client
var MyGame = new ClientGame({ /*options*/ }); // options effect Config.js

// if running with server, you need to call the client's connect method
MyGame.connect(/* optional callback */);
// or attach a listener to the on connect event
MyGame.on("connect", function(socket) {});


// on the server
var MyGame = new ServerGame({ /*options*/ });

// to renderer a game we need an active scene and a camera component that is within the scene
var camera = new GameObject({
    components: [
        new Transform2D,
        new Camera2D
    ]
});
var scene = new Scene;

//add camera to scene
scene.addGameObject(camera);

// then set Game's scene and camera
// set scene first, because Game.setCamera needs an active scene
MyGame.setScene(scene);
MyGame.setCamera(camera);

// to start the game call it's init function
MyGame.init();

Scenes

Scenes hold and manage GameObjects and their Components

var scene = new Scene({ /*options*/ });

//Scenes must be added to game and set as the active scene to be able to render
game.addScene(scene);

//other options are
game.addScenes(scene1, scene2, scene3...);

//same as above
game.add(scene1, scene2, scene3...);

//then set game's active scene with Game.setScene
game.setScene(scene);

GameObjects

GameObjects are containers that hold Components

var player = new GameObject({
    components: [
        // every GameObject needs a Transform
        new Transform2D({
            position: new Vec2(0, 5),
            rotation: Math.PI*0.5,
			
			// every component can be synced with the client and the server
			// by default transforms, are the only ones synced
			// only affects if created on the server
			sync: true,
			
			// every component can has a boolean weather or not to send to the client with the client and the server
			// by default all components will be sent to the client
			// only affects if created on the server
			json: true
        })
    ],
    tags: [
        "player"
    ]
});

//add to scene
scene.addGameObject(player);

//other options are
scene.addGameObjects(gameObject1, gameObject2, gameObject3...);

//same as above
scene.add(gameObject1, gameObject2, gameObject3...);


上一篇:odin-js-jquery

下一篇:packnet-sfm

用户评价
全部评价

热门资源

  • seetafaceJNI

    项目介绍 基于中科院seetaface2进行封装的JAVA...

  • spark-corenlp

    This package wraps Stanford CoreNLP annotators ...

  • Keras-ResNeXt

    Keras ResNeXt Implementation of ResNeXt models...

  • capsnet-with-caps...

    CapsNet with capsule-wise convolution Project ...

  • inferno-boilerplate

    This is a very basic boilerplate example for pe...