ФЭНДОМ


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


Конкурс Tower defence Править

Сайт конкурса Tower Defence

Вы можете принять участие в качестве:

  • Программиста
  • Дизайнера
  • Блоггера

TD

Декларативный синтаксис Править

Создание основного окна:

Пример использования Картинка
import javafx.stage.Stage;
import javafx.scene.Scene;

Stage {
    title: "Tower defence"
    scene: Scene {
        width: 550
        height: 550
        content: []
    }
}
TDStage

Layouts, Controls Править

Пример использования Картинка
HBox {

    spacing: 15

    translateX: 10
    translateY: 10

    nodeHPos: HPos.CENTER
    nodeVPos: VPos.CENTER

    content: [
        Button {
            text: "Play"
            action: function() {}
        }
        Button {
            text: "Pause"
            action: function() {}
        }
        Label {
            text: "Status"
        }
    ]
}
TDLayout

Каскадные таблицы стилей - CSS Править

Пример использования Картинка
Scene {
    stylesheets: "{__DIR__}style.css"
}
.button {
    -fx-text-fill: #e4f3fc;
    -fx-font: 15pt "Tahoma Bold";
    -fx-padding: 10;
    -fx-color: #2d4b8e
}

.button:hover{
    -fx-color: #395bae;
}

.label1 {
    -fx-text-fill: green;
    -fx-font: 20pt "Tahoma Bold";
}
TDCSS

Связывание данных Править

 var a = bind expr<param1,..,paramN>
 Component{
   attribute: bind expr<param1,..,paramN>
 }  


Пример использования Картинка
var status = "initial";

HBox {
    content: [
        Button {
            text: "Play"
            action: function() {
                status = "Played"
            }
        }
        Button {
            text: "Pause"
            action: function() {
                status = "Paused"
            }
        }
        Label {
            styleClass: "label1"
            text: bind "Status: {status}"
        }
    ]
}

TDBind



ДорогаПравить

Пример использования Картинка
Path {
    stroke: Color.GRAY
    strokeWidth: 20
    elements: [
        MoveTo { x: 50, y: 120 }
        LineTo { x: 250, y: 120 }
        ArcTo {
            x: 250, y: 300, radiusX: 25,
            radiusY: 20, sweepFlag: true
        }
        LineTo { x: 150, y: 300 }
        ArcTo {
            x: 150, y: 480, radiusX: 25,
            radiusY: 20, sweepFlag: false
        }
        LineTo { x: 340, y: 480 }
    ]
}
TDPath



Существо Править

class Creature extends CustomNode {

    public override function create(): Node {
        Group {
            content: []
        }
    }
}
Пример использования Картинка
class Creature extends CustomNode {

    public override function create(): Node {
        ImageView {
            image: Image {
                url: "{__DIR__}star.png"
            }
        }
    }

}
TDCreature


Анимация Править

Пример использования Картинка
PathTransition {
	duration: 15s
	node: creature
	path: AnimationPath.createFromPath(path)
	interpolator: Interpolator.LINEAR
	orientation: OrientationType.ORTHOGONAL_TO_TANGENT
}.play();
TDAnimationPath



Пример использования Картинка
def N = 5;

Timeline {
    keyFrames: for(i in [0..<N])KeyFrame {
        time: 2s.mul(i)
        action: function(){
            insert Creature { path: path  } into creatures;
        }

    }
}.play();
TDAnimationTimeline


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


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

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

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

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