mini-curso javafx aula3 ufpb
DESCRIPTION
Slides da 3ª aula do mini-curso de JavaFX que ministrei na UFPBTRANSCRIPT
![Page 2: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/2.jpg)
2
![Page 3: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/3.jpg)
var video = Media{source: "http://..."
};
var player = MediaPlayer{media: videoautoPlay: true
};
var view = MediaView{mediaPlayer: player
};
3
![Page 4: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/4.jpg)
4
![Page 5: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/5.jpg)
5
![Page 6: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/6.jpg)
6
![Page 7: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/7.jpg)
7
![Page 8: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/8.jpg)
8
![Page 9: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/9.jpg)
9
![Page 10: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/10.jpg)
10
![Page 11: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/11.jpg)
11
![Page 12: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/12.jpg)
12
![Page 13: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/13.jpg)
13
![Page 14: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/14.jpg)
14
![Page 15: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/15.jpg)
15
![Page 16: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/16.jpg)
16
![Page 17: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/17.jpg)
Site:
http://sites.google.com/site/joseraphaelmarques/
Link lateral: RaceFX Sessão: Parte 1 Link na página: src completo Descompactar no pacote racefx
17
![Page 18: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/18.jpg)
Site:
http://sites.google.com/site/joseraphaelmarques/
Link lateral: RaceFX Sessão: Parte 2 Link na página: src baixar Descompactar no pacote racefx
18
![Page 19: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/19.jpg)
19
![Page 20: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/20.jpg)
public class Track{
public-init var down: Image;public-init var top: Image;public-init var layout: Image;
var layoutView = ImageView{image: layout};
public-read var downView = ImageView{image: down};
public-read var topView = ImageView{image: top};
public function isTrack(x: Number, y: Number):Boolean{return layoutView.contains(x,y);
}}
20
![Page 21: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/21.jpg)
21
![Page 22: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/22.jpg)
public-init var track: Track;
function updateMove(factor: Number):Void{var vx = Math.cos(angle) * vel * factor;var vy = -Math.sin(angle) * vel * factor;
var i = x + vx;var j = y + vy;
if(not track.isTrack(i, j)){vel = 0;
}else{x = i;y = j;
}}
22
![Page 23: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/23.jpg)
23
![Page 24: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/24.jpg)
def track = Track{down: Image {
url: "{__DIR__}track1down.png"}top: Image {
url: "{__DIR__}track1top.png"}layout: Image {
url: "{__DIR__}track1layout.png"}
}
24
![Page 25: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/25.jpg)
25
![Page 26: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/26.jpg)
var checkpoint1 = Polygon{
points: [219,1,247,1,247,137,219,137]
};
var checkpoint2 = ...
var checkpoint3 = ...
var checkpoint4 = ...
var checkpointcar1 = checkpoint2;
var checkpointcar2 = checkpoint2;
26
![Page 27: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/27.jpg)
27
![Page 28: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/28.jpg)
var laps1 = 0;
var laps2 = 0;
var laps1Text = Text {...}
var laps2Text = Text {...}
28
![Page 29: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/29.jpg)
function checkLaps(){if(checkpointcar1.contains(car1.x, car1.y)){
if(checkpointcar1 == checkpoint1){laps1++;checkpointcar1 = checkpoint2;
}else ...}if(checkpointcar2.contains(car2.x, car2.y)){
...}
}
29
![Page 30: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/30.jpg)
public override function create():Node{Group{
content: [track.downView,car1,car2,track.topView,laps1Text,laps2Text,
]}
}
30
![Page 31: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/31.jpg)
31
![Page 32: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/32.jpg)
Site:
http://sites.google.com/site/joseraphaelmarques/
Link lateral: RaceFX Sessão: Parte 3 Link na página: src baixar Descompactar no pacote racefx
Baixe o src completo da parte 2 se necessário.
32
![Page 33: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/33.jpg)
33
![Page 34: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/34.jpg)
34
Server Client
Internet
![Page 35: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/35.jpg)
35
Server Client
Internet
![Page 36: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/36.jpg)
36
Server Client
Internet
![Page 37: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/37.jpg)
37
Server Client
Internet
![Page 38: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/38.jpg)
Client Server SenderCar float x;
float y;
float angle; ReceiverListener public void receive(SenderCar car);
MySocket public void send(SenderCar car);
38
![Page 39: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/39.jpg)
39
![Page 40: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/40.jpg)
public var socket: MySocket;
public function update(time: Long):Void{...if(vel != 0){
updateMove(factor);socket.send(new SenderCar(x,y,angle));
}}
40
![Page 41: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/41.jpg)
override function receive(car: SenderCar):Void{//evitar deadlockFX.deferAction(
function ():Void{this.x = car.x;this.y = car.y;this.angle = car.angle;
});
}
41
![Page 42: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/42.jpg)
42
![Page 43: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/43.jpg)
43
![Page 44: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/44.jpg)
44
![Page 45: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/45.jpg)
45
![Page 46: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/46.jpg)
Button {
text: "PLAY LOCAL“
…
action: function() {
close();
game.play();
}
}
46
![Page 47: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/47.jpg)
function close():Void{var timeline = Timeline {
keyFrames : [KeyFrame {
time: 1svalues : translateX => -640
tween Interpolator.LINEAR}
]};timeline.play();
}
47
![Page 48: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/48.jpg)
48
![Page 49: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/49.jpg)
public var rede = false;public var server = false;
function update():Void{...if(not rede){
car2.update(time);}...
}
49
![Page 50: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/50.jpg)
public function reset():Void{...if(rede and not server){//client
car1.y = 90;car2.y = 50;
}else{//server ou localcar1.y = 50;car2.y = 90;
}…
}
50
![Page 51: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/51.jpg)
function checkKey(code:KeyCode,value:Boolean){if(code == KeyCode.VK_LEFT){
...} else
...} else if(not rede){
if(code == KeyCode.VK_A){...} else ...
}}
51
![Page 52: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/52.jpg)
52
![Page 53: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/53.jpg)
var game = Game{
rede: false
server: false
};
53
![Page 54: Mini-curso JavaFX Aula3 UFPB](https://reader033.vdocuments.us/reader033/viewer/2022042715/558fcb5f1a28abf2388b466c/html5/thumbnails/54.jpg)
54