Язык javafx script – разработка приложений

16
Sun Proprietary/Confidential: Internal Use Only 1 Developer/Community Campaign Александр Щербатый Язык JavaFX Script – разработка приложений

Upload: varana

Post on 05-Jan-2016

57 views

Category:

Documents


1 download

DESCRIPTION

Язык JavaFX Script – разработка приложений. Александр Щербатый. JavaFX Script. Анимация Видео Аудио. JavaFX Script – это декларативный язык, ориентированный на создание клиентских, мобильных и веб медиа приложений. Media приложения. 2. Декларативный синтаксис. Stage { - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Язык JavaFX Script – разработка приложений

Sun Proprietary/Confidential: Internal Use Only 1Developer/Community Campaign

Александр Щербатый

Язык JavaFX Script – разработка приложений

Page 2: Язык JavaFX Script – разработка приложений

JavaFX Script

• Анимация• Видео• Аудио

JavaFX Script – это декларативный язык, ориентированный на создание клиентских, мобильных и веб медиа приложенийMedia приложения

2

Page 3: Язык JavaFX Script – разработка приложений

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

Stage { title: "JavaFX Application" scene: Scene { content: Text { x: 10, y: 30 font: Font { size: 34 } fill: Color.DARKBLUE content: "Hello World!" effect: DropShadow { offsetY: 3 } } }}

3

Page 4: Язык JavaFX Script – разработка приложений

Привязка данных – data binding

4

CustomSlider { value: bind saturation with inverse minValue: -1.0 maxValue: 1.0 }, ImageView { image: Image { url: "{__DIR__}/giraffe.jpg" } effect: ColorAdjust { saturation: bind saturation } },

var saturation = 0.0;

Page 5: Язык JavaFX Script – разработка приложений

Обработка событий

CustomButton { action: function() { println("Hello World!") }}

5

Page 6: Язык JavaFX Script – разработка приложений

Функцииfunction f(x:Number):Number{ Math.cos(x);}

function integral( f: function(Number):Number, a:Number, b: Number, dx: Number):Number{ var s = 0.0; for(x in [a..b step dx]){ s += f(x) * dx; } return s;}

println( integral(f, -Math.PI /2, Math.PI/2, 0.01) );

// output: 1.9999900283082476

Page 7: Язык JavaFX Script – разработка приложений

График Функции

function sqr(x:Number):Number { x * x }

FunctionGraph { xMin: -2 xMax: 2 scale: scale dx: dx color: Color.RED func: sqr}

7

Page 8: Язык JavaFX Script – разработка приложений

Графические объекты

• Фигуры

• Градиенты

8

Page 9: Язык JavaFX Script – разработка приложений

Графические эффекты

Затенение Смешение Наложение Отражение Размытость Подсветка Трансформация Сепия-тонирование

9

Page 10: Язык JavaFX Script – разработка приложений

Анимация

var car = Car{ };var angle = 0;

Timeline { repeatCount: Timeline.INDEFINITE keyFrames: [ KeyFrame { time: 0.1s values: angle => 180 tween Interpolator.LINEAR action: function() { car.move(); } } ]} 10

Page 11: Язык JavaFX Script – разработка приложений

Media компоненты

Stage { title: "Simple Media Player" scene: Scene{ content: MediaComponent { mediaSourceURL: mediaUrl volume: 0.5 visible:true mediaPlayerAutoPlay: true } }}

11

Page 12: Язык JavaFX Script – разработка приложений

Планетарная системаvar planets = [ Planet{ name: "Mercury" radius: 0.383 eccentricity: 0.20563 }, Planet{ name: "Venus" radius: 0.95 eccentricity: 0.0068 }, Planet{ name: "Earth" radius: 1 eccentricity: 0.01671 } ];

12

Page 13: Язык JavaFX Script – разработка приложений

Столкновение частицclass Particle extends CustomNode { var radius : Number;

public override function create(): Node { Circle { radius: bind radius fill: RadialGradient { centerX: 75 centerY: 75 radius: 90 proportional: false stops: [ Stop { offset: 0.0 color: Color.RED }, Stop { offset: 1.0 color: Color.DARKRED } ] } effect: Reflection{ } } }} 13

Page 14: Язык JavaFX Script – разработка приложений

Среда разработки - NetBeans

14

Page 15: Язык JavaFX Script – разработка приложений

Ссылки

• http://java.sun.com/javafx• http://developers.sun.ru/javafx• http://ru.jfx.wikia.com

Среда разработкиhttp://javafx.netbeans.org

Форум

http://developers.sun.ru/forum

15

Page 16: Язык JavaFX Script – разработка приложений

Sun Proprietary/Confidential: Internal Use Only 16Developer/Community Campaign

Александр Щербатый