ФЭНДОМ


Главная | Описание языка | FXD | API | Примеры | Инструменты Разработки | Новости | Ресурсы | Форум

GalaxyFXDeepSpace

Движок Править

GalaxyFX Deep Space - это движок, написанный на JavaFX, который позволяет описывать космические корабли, базы и планеты.

На базе движка можно разработать свою игру. Для этого нужно:

  • Придумать сюжет и разбить его на карты и миссии
  • Описать каждую карту, задав расположение кораблей, планет и определив цели.


Сайт разработки:

http://kenai.com/projects/galaxyfx/pages/Home

Исходный код Править

Исходный код движка можно скачать из репозитория:

 > svn checkout https://svn.kenai.com/svn/galaxyfx~master

Игра Alien Threat Править

Alien treat

Прототип игры Alien Threat был разработана на HackDay 2 вместе с Алексеем.

Игра состоит из 3х карт.

  • Уничтожить зонд иноплянетян
  • Уничтожить зонд и конвой иноплянетян
  • Уничтожить материнский корабль иноплянетян


Игра Править

Main файл Править

import javafx.stage.*;
import javafx.scene.*;
import javafx.scene.paint.*;
import javafx.scene.input.*;
import galaxyfx.deepspace.design.*;

Stage {
        
    fullScreen: true
    title: "Alien Threat"

    scene: Scene {
        width: DeepSpace.WIDTH
        height: DeepSpace.HEIGHT
        fill: Color.BLACK
        content: DeepSpace {

            missions: [
                "alienthreat.mission.AlienMission"
            ]
            
            options: Options {
                autoplay: true
                systemKeyboad: SystemKeyboard {}
                playerKeyboads: [
                    PlayerKeyboard {
                        acceleration: KeyCode.VK_UP
                        deceleration: KeyCode.VK_DOWN
                        left: KeyCode.VK_LEFT
                        right: KeyCode.VK_RIGHT
                    }
                    PlayerKeyboard {
                        acceleration: KeyCode.VK_W
                        deceleration: KeyCode.VK_S
                        left: KeyCode.VK_A
                        right: KeyCode.VK_D
                    }
                ]
            }
        }
    }
}

Описание миссий Править

import galaxyfx.deepspace.mission.*;

Mission{
    name: "Alien Threat"

    maps: [
        "alienthreat.mission.ZondMap",
        "alienthreat.mission.ZondConvoyMap",
        "alienthreat.mission.MotherShipMap",
    ]
}

Описание карт Править

Map {
    name: "Destroy Alien Zond"
    spacecrafts: [
        HumanShuttle {
            flags: Flag.HUMANITY
            direction: Math.PI
            target: DestroyObjectTarget{flag: Flag.ALIEN}
            center: Vector {x: x - 50 y: -y - 100 }
        }
        AlienZond {
            flags: Flag.ALIEN
            showEnergy: true
            direction: Math.atan2(x, y)
            target: LandObjectTarget {flag: Flag.PLANET}
            center: Vector {x: -x y: -y}
            velocity: Vector {x: vx y: vy}
        }
    ]
    space: NewtonSpace {
        objects: [
            HumanPlanet {
                flags: Flag.PLANET
                direction: - Math.PI / 2
                center: Vector {x: x y: y}
            }
        ]
    }
}

Описание Кораблей Править

public class AlienSpacecraft extends Spacecraft{


    override var name = "alien spacecraft";

    override var radius = 80;

    override var operationSystem = OperationSystem{
        program:Program.load("alienthreat.alien.AlienProgram");
    }

    override var guns = Gun{
        //center: Vector{  x: 0.6 * radius  y: 0 }

        maxEmittedTime: 4.5
        shape: GameResource.EMPRTY
    };
    

    override var engines = [
        Engine{
          maxEmittedTime: 2
          center: Vector{  x: -radius  y: radius / 2 }
          shape: GameResource.EMPRTY
        }
        Engine{
          maxEmittedTime: 2
          center: Vector{  x: -radius  y: -radius / 2 }
          shape: GameResource.EMPRTY
        }
    ];



    override var hull = Hull{

          radius: radius
          shape:  Group {
              content: [
                SVGComponent{
                    radius: radius
                    content: GameResource.ALIEN_SPACECRAFT
                }
            ]
        }
    }

}

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.

Также на ФЭНДОМЕ

Случайная вики