Buscar este blog

sábado, 6 de diciembre de 2008

Tarjeta de Navidad en javaFX

cambio la version de javaFX y tuve que hacerle modificaciones para que sea compatible con la nueva version, aqui su codigo:
package Munieco;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.text.Text;
import javafx.scene.text.Font;
import javafx.scene.text.*;
import javafx.scene.shape.Polygon;
import javafx.scene.paint.Color;
import javafx.scene.effect.*;
import javafx.scene.shape.*;
import javafx.scene.effect.light.*;
import javafx.scene.transform.Transform.*;
import javafx.scene.transform.Rotate;
/**
* @author GaSK
*/
Stage {
title: "Tarjeta de Navidad"
width: 1024
height: 768
scene: Scene {
fill: Color.rgb(89, 117, 154)
content: [
Polygon {//nubes
fill: Color.WHITE
smooth: true
points: [
560, 282, 593, 271, 629, 282, 609, 269, 617, 255, 579, 239,
569, 211, 697, 226, 678, 193, 630, 182, 724, 181, 833, 129,
754, 128, 684, 185, 660, 166, 556, 175, 561, 186, 628, 173,
584, 188, 600, 199, 576, 211, 537, 187, 544, 168, 481, 175,
431, 209, 374, 205, 434, 189, 436, 165, 466, 158, 707, 145,
645, 133, 443, 148, 399, 165, 433, 166, 432, 184, 382, 197,
406, 182, 384, 171, 470, 129, 681, 116, 681, 99, 646, 93,
624, 89, 641, 68, 671, 66, 716, 77, 699, 85, 731, 117,
757, 103, 838, 103, 853, 125, 830, 154, 856, 171, 895, 166,
940, 206, 924, 233, 984, 220, 906, 151, 846, 136, 854, 125,
945, 142, 999, 128, 915, 110, 984, 101, 966, 91, 927, 84,
838, 103, 774, 87, 721, 107, 713, 94, 756, 82, 828, 88,
810, 74, 718, 82, 737, 66, 832, 57, 794, 38, 840, 13,
795, 0, 666, 5, 652, 19, 541, 0, 459, 42, 457, 19,
438, 15, 451, 10, 385, 19, 435, 16, 408, 35, 351, 13,
340, 18, 369, 27, 383, 56, 370, 83, 282, 11, 236, 4,
212, 34, 123, 28, 93, 4, 61, 13, 67, 1, 39, 0,
8, 10, 5, 32, 103, 16, 123, 34, 171, 30, 166, 45,
204, 34, 177, 94, 210, 89, 220, 122, 247, 132, 283, 115,
356, 121, 417, 87, 533, 67, 483, 49, 545, 63, 544, 46,
495, 37, 551, 25, 539, 30, 579, 50, 556, 81, 483, 85,
306, 151, 286, 136, 301, 155, 277, 187, 220, 177, 243, 191,
230, 221, 146, 214, 233, 241, 250, 229, 254, 241, 278, 217,
251, 198, 271, 198, 303, 159, 421, 121, 539, 109, 559, 82,
648, 96, 408, 136, 377, 167, 346, 173, 381, 197, 323, 179,
390, 215, 484, 208, 461, 194, 487, 176, 527, 189, 509, 196,
571, 219, 578, 239, 542, 234, 593, 252
]
effect: GaussianBlur{
radius: 55
}
},
Polygon {//nieve fondo1
points : [
0, 768, 1024, 768, 1024, 416, 1007, 403, 1000, 401, 991, 400,
979, 403, 959, 410, 940, 421, 926, 426, 906, 429, 890, 422,
871, 411, 844, 400, 730, 407, 681, 406, 667, 405, 656, 403,
637, 410, 614, 411, 584, 405, 537, 408, 500, 410, 453, 423,
437, 436, 412, 439, 396, 433, 383, 423, 362, 421, 350, 422,
340, 428, 325, 423, 300, 418, 282, 426, 259, 433, 235, 446,
214, 447, 196, 445, 172, 434, 152, 423, 124, 412, 106, 410,
81, 413, 68, 417, 43, 430, 23, 446, 0, 456
]
fill: Color.LIGHTGREY
smooth: true
effect: InnerShadow{offsetX: 0 offsetY: 0 radius: 30}
},
Polygon {//nieve fondo1
points : [
0, 768, 1024, 768, 1024, 416, 1007, 403, 1000, 401, 991, 400,
979, 403, 959, 410, 940, 421, 926, 426, 906, 429, 890, 422,
871, 411, 844, 400, 730, 407, 681, 406, 667, 405, 656, 403,
637, 410, 614, 411, 584, 405, 537, 408, 500, 410, 453, 423,
437, 436, 412, 439, 396, 433, 383, 423, 362, 421, 350, 422,
340, 428, 325, 423, 300, 418, 282, 426, 259, 433, 235, 446,
214, 447, 196, 445, 172, 434, 152, 423, 124, 412, 106, 410,
81, 413, 68, 417, 43, 430, 23, 446, 0, 456
]
fill: Color.LIGHTGREY
smooth: true
effect: InnerShadow{offsetX: 0 offsetY: 0 radius: 30}
},
Polygon {//detalle en nieve
points : [
86, 768, 998, 768, 981, 762, 979, 742, 989, 727, 989, 717,
895, 758, 970, 691, 1007, 668, 844, 711, 756, 761, 702, 765,
700, 758, 714, 744, 807, 682, 961, 628, 970, 616, 948, 602,
989, 574, 941, 583, 967, 502, 924, 567, 904, 584, 790, 604,
892, 545, 922, 480, 897, 498, 903, 462, 880, 512, 737, 635,
534, 767, 496, 763, 493, 750, 516, 718, 575, 677, 578, 665,
553, 653, 623, 620, 666, 580, 561, 630, 485, 634, 310, 672,
236, 700, 135, 752, 86, 767, 30, 749, 101, 728, 286, 650,
391, 627, 481, 597, 505, 585, 525, 583, 549, 563, 562, 581,
575, 574, 558, 556, 555, 543, 537, 548, 518, 573, 497, 582,
487, 593, 402, 602, 438, 588, 505, 570, 557, 513, 515, 541,
451, 557, 416, 564, 372, 569, 348, 571, 362, 558, 378, 536,
410, 499, 417, 479, 426, 464, 407, 467, 390, 463, 372, 473,
347, 499, 333, 522, 270, 574, 259, 576, 242, 577, 243, 567,
245, 559, 251, 534, 258, 509, 273, 478, 258, 495, 245, 511,
216, 568, 156, 620, 91, 648, 66, 667, 27, 749, 52, 611,
117, 572, 127, 572, 107, 607, 160, 580, 216, 568, 181, 575,
184, 556, 183, 534, 178, 513, 169, 497, 156, 478, 149, 468,
143, 504, 135, 547, 116, 571, 89, 578, 106, 557, 118, 511,
87, 534, 76, 530, 73, 516, 94, 471, 48, 531, 29, 572,
32, 600, 41, 610
]
fill:Color.WHITE
smooth: true
effect: GaussianBlur{ radius: 40 }
},
ShapeSubtract {//base muñeco
fill: Color.WHITE
a: Circle {centerX: 768 centerY: 514 radius: 117}
b: Polygon {
points : [
647, 660, 894, 657, 896, 540, 879, 554, 871, 565, 862, 570,
850, 577, 837, 582, 825, 587, 814, 587, 798, 586, 783, 584,
761, 582, 752, 581, 740, 581, 726, 582, 712, 583, 701, 579,
697, 576, 691, 572, 682, 567, 675, 564, 668, 560, 662, 552,
654, 548, 648, 547
]
}
effect: InnerShadow{radius: 10 offsetY:-5 color: Color.DARKGRAY}
smooth: true
},
Polygon {//nieve debajo de muñeco
points : [
789, 596, 852, 582, 865, 576, 871, 568, 880, 560, 880, 555,
875, 554, 868, 556, 857, 562, 849, 563, 841, 564, 833, 569,
823, 575, 808, 577, 789, 574, 777, 573, 761, 571, 750, 569,
739, 568, 724, 569, 713, 566, 697, 565, 687, 558, 681, 552,
674, 546, 660, 540, 658, 548, 662, 566, 681, 589, 719, 594,
]
fill:Color.WHITE
smooth: true
effect: GaussianBlur{ radius: 30 }
},
Polygon {//Sombras debajo de muñeco
points : [
814, 587, 825, 587, 837, 582, 850, 577, 862, 570, 871, 565,
879, 554, 885, 539, 885, 529, 883, 520, 880, 527, 878, 530,
876, 528, 873, 525, 871, 524, 869, 528, 868, 534, 864, 539,
861, 539, 856, 538, 853, 532, 848, 523, 842, 512, 842, 516,
845, 531, 844, 543, 839, 550, 830, 555, 822, 561, 816, 566,
803, 569, 796, 573, 782, 573, 764, 572, 759, 569, 751, 563,
745, 559, 730, 553, 717, 551, 704, 547, 693, 543, 684, 540,
673, 534, 667, 530, 663, 522, 658, 515, 654, 511, 653, 513,
653, 516, 653, 528, 655, 535, 662, 552, 668, 560, 675, 564,
682, 567, 691, 572, 697, 576, 701, 579, 712, 583, 726, 582,
740, 581, 752, 581, 761, 582, 783, 584, 798, 586
]
fill:Color.DARKGREY
smooth: true
effect: GaussianBlur{ radius: 50 }
},
Circle {//torax Muñeco
centerX: 770 centerY: 372 radius: 101.5 fill: Color.WHITE
smooth: true
effect: InnerShadow{radius:36.91 offsetY:-9.23 color: Color.DARKGRAY}
},
Polygon {//chalina1
points: [
737, 334, 745, 334, 754, 333, 765, 332, 772, 332, 778, 332,
787, 333, 798, 333, 812, 330, 822, 326, 833, 318, 840, 310,
843, 302, 843, 295, 842, 290, 840, 286, 837, 283, 832, 280,
727, 288, 731, 333
]
fill: Color.RED
smooth: true
effect: Lighting {
light: DistantLight {azimuth: 300}
contentInput: DropShadow{}
}
},
Polygon {//chalina2
points: [
722, 403, 726, 401, 731, 396, 739, 391, 739, 388, 739, 374,
739, 354, 737, 342, 738, 331, 738, 327, 736, 322, 735, 314,
734, 304, 724, 292, 713, 279, 707, 283, 703, 286, 700, 288,
696, 293, 693, 298, 692, 304, 693, 309, 696, 318, 699, 323,
702, 330, 703, 334, 703, 348, 703, 371, 703, 380, 702, 384,
700, 389, 702, 391, 708, 392, 712, 395, 716, 398
]
fill: Color.RED
smooth: true
effect: Lighting {
light: DistantLight {azimuth: 300}
contentInput: DropShadow{}
}
},
Circle {//cabeza Muñeco
centerX: 768 centerY: 252 radius: 66 fill: Color.WHITE
fill: Color.WHITE
smooth: true
effect: InnerShadow{radius:24 offsetY:-6 color: Color.DARKGRAY}
},
Circle {//ojo izquierdo
centerX: 747.65 centerY: 254.79 radius: 8.44 fill: Color.BLACK
smooth: true
effect: Lighting {
light: DistantLight {azimuth: 270}
contentInput: DropShadow{offsetY: 3 radius: 5}
}
},
Circle {//ojo derecho
centerX: 791.75 centerY: 255.42 radius: 8.44 fill: Color.BLACK
smooth: true
effect: Lighting {
light: DistantLight {azimuth: 270}
contentInput: DropShadow{offsetY: 3 radius: 5}
}
},
Circle {//boton1
centerX: 771.74 centerY: 353.92 radius: 8.13 fill: Color.ORANGERED
smooth: true
effect: Lighting {
light: DistantLight {azimuth: 270}
contentInput: DropShadow{offsetY: 2 radius: 5}
}
},
Circle {//boton2
centerX: 771.42 centerY: 392.70 radius: 8.13 fill: Color.ORANGERED
smooth: true
effect: Lighting {
light: DistantLight {azimuth: 270}
contentInput: DropShadow{offsetY: 2 radius: 5}
}
},
Circle {//boton3
centerX: 771.74 centerY: 432.42 radius: 8.13 fill: Color.ORANGERED
smooth: true
effect: Lighting {
light: DistantLight {azimuth: 270}
contentInput: DropShadow{offsetY: 2 radius: 5}
}
},
Polygon {//Nariz
points: [
766, 313, 767, 312, 768, 305, 771, 296, 774, 287, 771, 286,
775, 286, 776, 283, 772, 282, 776, 282, 778, 277, 773, 276,
778, 276, 778, 275, 778, 271, 776, 268, 770, 267, 767, 268,
762, 270, 761, 275, 761, 276, 772, 277, 761, 277, 762, 283,
771, 283, 762, 284, 762, 289, 770, 289, 762, 290, 762, 296,
768, 296, 762, 296, 763, 303, 766, 304, 763, 304, 764, 310
]
fill: Color.ORANGERED
smooth: true
effect: Lighting {
light: DistantLight {azimuth: 300}
contentInput: DropShadow{}
}
},
Polygon {//brazo izquierdo
points: [
644, 362, 647, 361, 671, 343, 677, 340, 691, 334, 696, 329,
693, 326, 670, 337, 644, 355, 627, 341, 624, 339, 598, 336,
592, 323, 588, 321, 566, 322, 559, 326, 563, 330, 568, 328,
578, 328, 585, 330, 586, 337, 590, 341, 620, 343, 632, 352,
638, 359
]
fill: Color.BROWN
smooth: true
effect: Lighting {
light: DistantLight {azimuth: 300}
contentInput: DropShadow{}
}
},
Polygon {//brazo iaquierdo
points: [
848, 336, 850, 336, 853, 334, 856, 332, 862, 328, 864, 326,
869, 324, 873, 322, 876, 321, 879, 321, 883, 322, 885, 324,
889, 325, 893, 326, 896, 326, 901, 327, 905, 328, 909, 328,
912, 329, 916, 329, 919, 329, 922, 330, 927, 330, 934, 330,
943, 330, 950, 332, 958, 331, 960, 328, 964, 324, 967, 321,
969, 318, 973, 314, 980, 310, 986, 308, 991, 305, 993, 304,
992, 301, 990, 300, 986, 300, 982, 302, 978, 305, 973, 307,
967, 312, 963, 315, 960, 319, 957, 322, 953, 324, 949, 324,
941, 324, 934, 325, 929, 324, 927, 322, 923, 321, 919, 321,
911, 321, 904, 320, 896, 320, 892, 319, 888, 317, 884, 315,
879, 313, 875, 313, 872, 314, 869, 316, 867, 318, 865, 318,
863, 319, 860, 321, 858, 322, 855, 325, 851, 328, 847, 331,
846, 333, 846, 334
]
fill: Color.BROWN
smooth: true
effect: Lighting {
light: DistantLight {azimuth: 300}
contentInput: DropShadow{}
}
},
Polygon {//Gorro
points: [
825, 216, 818, 203, 813, 197, 812, 190, 812, 188, 816, 189,
818, 190, 826, 193, 839, 201, 838, 198, 837, 190, 835, 185,
833, 178, 829, 174, 823, 171, 816, 164, 812, 157, 805, 149,
788, 146, 768, 145, 757, 149, 748, 161, 736, 175, 723, 192,
716, 201, 710, 214
]
fill: Color.RED
smooth: true
effect: Lighting {
light: DistantLight {azimuth: 225}
contentInput: DropShadow{}
}
},
Polygon {//sombras gorro
points: [
788, 198, 792, 197, 797, 194, 800, 194, 798, 189, 793, 185,
792, 184, 800, 179, 802, 184, 807, 186, 810, 190, 812, 188,
810, 186, 810, 185, 811, 185, 815, 187, 830, 193, 828, 191,
822, 187, 816, 184, 813, 184, 811, 185, 810, 185, 808, 183,
804, 178, 798, 175, 797, 175, 795, 167, 804, 166, 807, 165,
810, 166, 813, 170, 814, 174, 815, 179, 820, 181, 823, 179,
826, 179, 829, 178, 827, 176, 819, 172, 815, 169, 811, 164,
806, 160, 799, 157, 796, 155, 795, 155, 789, 154, 780, 153,
772, 153, 768, 153, 778, 157, 785, 158, 790, 161, 793, 165,
794, 167, 795, 167, 797, 175, 789, 173, 792, 174, 799, 178,
799, 179, 792, 184, 788, 183, 781, 181, 784, 185, 789, 188,
792, 190, 790, 194, 785, 196, 785, 197
]
fill: Color.DARKRED
smooth: true
effect: GaussianBlur{ radius: 10 }
},
Circle {//pimpollo gorro
centerX: 839.98 centerY: 201.13 radius: 11.04 fill: Color.WHITE
smooth: true
effect: Lighting {
light: DistantLight {azimuth: 225 elevation: 67}
contentInput: GaussianBlur{ radius: 10 }
}
},
Polygon {//blonda gorro
points: [
789, 243, 791, 243, 792, 243, 793, 241, 796, 240, 798, 241,
802, 242, 804, 241, 807, 239, 811, 240, 812, 240, 815, 238,
817, 238, 818, 238, 822, 237, 823, 233, 827, 232, 828, 232,
829, 232, 831, 232, 832, 231, 832, 229, 834, 229, 836, 231,
836, 229, 834, 229, 834, 227, 834, 227, 837, 228, 839, 227,
837, 226, 836, 225, 834, 225, 833, 224, 834, 224, 837, 224,
836, 223, 835, 222, 833, 221, 836, 221, 838, 220, 836, 219,
834, 218, 833, 217, 832, 215, 831, 214, 831, 213, 830, 211,
828, 211, 827, 211, 826, 209, 823, 207, 820, 206, 818, 204,
816, 204, 814, 203, 813, 205, 812, 207, 810, 209, 809, 209,
808, 208, 806, 207, 805, 208, 803, 209, 802, 210, 801, 210,
798, 210, 796, 211, 794, 211, 792, 209, 789, 208, 787, 208,
784, 206, 783, 207, 781, 209, 781, 210, 779, 211, 777, 210,
775, 209, 773, 209, 772, 210, 771, 211, 769, 211, 765, 210,
764, 209, 762, 208, 759, 209, 755, 208, 752, 207, 751, 206,
750, 209, 748, 210, 742, 209, 741, 209, 739, 207, 736, 206,
734, 207, 734, 207, 732, 207, 732, 206, 730, 206, 728, 205,
728, 204, 723, 205, 721, 205, 720, 204, 718, 203, 715, 203,
715, 203, 714, 202, 713, 201, 710, 201, 708, 202, 707, 205,
706, 206, 705, 207, 708, 208, 706, 208, 705, 208, 705, 210,
705, 211, 706, 211, 707, 213, 707, 214, 706, 214, 705, 214,
704, 215, 706, 217, 706, 218, 704, 217, 703, 218, 703, 220,
702, 221, 701, 223, 701, 224, 704, 228, 706, 229, 708, 231,
711, 234, 714, 236, 716, 236, 718, 236, 719, 238, 720, 238,
723, 239, 724, 238, 725, 240, 729, 240, 730, 240, 733, 241,
734, 242, 739, 242, 742, 242, 744, 242, 746, 242, 747, 242,
752, 240, 753, 240, 757, 240, 760, 239, 764, 239, 766, 240,
773, 242, 776, 241, 778, 242
]
fill: Color.WHITE
smooth: true
effect: Lighting {
light: DistantLight {azimuth: 225 elevation: 67}
contentInput: GaussianBlur{ radius: 10 }
}
},
Polygon {//Letrero1
points: [
551, 577, 576, 573, 560, 478, 534, 483
]
fill: Color.BROWN
smooth: true
effect: Lighting {
light: DistantLight {azimuth: 300}
contentInput: DropShadow{}
}
},
Polygon {//Letrero2
points: [
465, 522, 633, 492, 616, 373, 449, 395
]
fill: Color.BROWN
smooth: true
effect: Lighting {
light: DistantLight {azimuth: 300}
contentInput: DropShadow{}
}
},
Polygon {//nieve ENCIMA LETRERO
points : [
448, 424, 450, 424, 452, 422, 454, 422, 456, 422, 460, 420,
461, 417, 462, 415, 464, 415, 465, 415, 467, 414, 468, 416,
470, 420, 473, 421, 476, 420, 476, 420, 479, 419, 481, 417,
481, 414, 481, 412, 481, 411, 483, 410, 484, 409, 484, 406,
484, 403, 486, 402, 488, 402, 490, 403, 493, 404, 495, 405,
497, 406, 503, 405, 505, 403, 507, 399, 508, 396, 511, 395,
515, 392, 519, 391, 521, 391, 524, 392, 528, 392, 531, 392,
533, 393, 535, 394, 537, 394, 539, 394, 540, 396, 542, 396,
544, 394, 545, 392, 547, 390, 550, 391, 551, 390, 553, 389,
555, 389, 557, 390, 559, 391, 562, 393, 564, 394, 567, 394,
570, 395, 571, 397, 573, 398, 575, 398, 579, 397, 582, 396,
585, 395, 586, 394, 588, 393, 589, 394, 593, 395, 597, 397,
599, 398, 601, 403, 603, 407, 605, 409, 608, 410, 610, 409,
611, 409, 614, 409, 616, 409, 618, 404, 620, 402, 622, 398,
622, 394, 621, 391, 622, 381, 622, 374, 621, 368, 619, 367,
616, 365, 614, 363, 610, 362, 605, 361, 595, 362, 590, 364,
575, 363, 560, 362, 552, 363, 545, 366, 540, 365, 537, 365,
534, 363, 530, 363, 526, 365, 523, 368, 521, 370, 515, 372,
510, 372, 507, 371, 499, 372, 495, 373, 491, 371, 487, 372,
484, 374, 481, 377, 478, 380, 473, 382, 469, 383, 466, 382,
463, 382, 459, 381, 456, 382, 454, 381, 451, 380, 449, 380,
448, 382, 448, 386, 447, 387, 445, 392, 442, 394, 442, 397,
443, 399, 445, 400, 446, 401, 448, 402, 448, 404, 447, 407,
445, 410, 444, 413, 444, 417, 445, 419, 446, 421
]
fill: Color.WHITE
smooth: true
effect: Lighting {
light: DistantLight {azimuth: 300 elevation: 55}
contentInput: DropShadow{offsetY: 2}
}
},
Polygon {//nieve DEBAJO LETRERO
points : [
586, 588, 577, 574, 571, 569, 567, 567, 561, 562, 560, 555,
558, 543, 555, 537, 549, 532, 541, 532, 537, 533, 531, 538,
528, 544, 525, 553, 519, 563, 511, 568, 504, 576, 512, 578,
526, 579, 537, 580, 546, 581, 565, 587
]
fill: Color.WHITE
smooth: true
effect: Lighting {
light: DistantLight {azimuth: 45 elevation: 65}
contentInput: GaussianBlur{ radius: 10 }
}
},
Text {
font: Font {size: 50 embolden: true name: "Mistral"}
x: 470,
y: 442
fill: Color.DARKGRAY
content: "Feliz\nNavidad"
textAlignment: TextAlignment.CENTER
transforms: Rotate {pivotX:503 pivotY:446 angle:350}
effect: Lighting{light:DistantLight{azimuth:90 elevation:20}
contentInput: DropShadow{radius:3 offsetY:4 offsetX:-2 color:Color.WHITE}
}
},
Text {
font: Font {size: 25 name: "Arial Black" }
x: 15, y: 720
fill: Color.CHOCOLATE
content: "By GaSK"
smooth: true
effect: Lighting {
light: DistantLight {azimuth:90 elevation:40}
contentInput: DropShadow{radius:5 offsetY:1 offsetX: -1 color: Color.BLACK}
}
},
]
}
}

No hay comentarios.: