Фэндом


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


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

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

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

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

TD.png

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

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

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

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

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.png

Каскадные таблицы стилей - 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.png

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

 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.png



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

Пример использования Картинка
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.png



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

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.png


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

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



Пример использования Картинка
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.png


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


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

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

Также на Фэндоме

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