/* * Main.fx * * Created on 08/12/2008, 11:23:36 PM */ package rebotes; import javafx.animation.KeyFrame; import javafx.animation.Timeline; import javafx.scene.CustomNode; import javafx.scene.Group; import javafx.scene.Node; import javafx.scene.paint.Color; import javafx.scene.Scene; import javafx.scene.shape.Circle; import javafx.scene.text.Font; import javafx.scene.text.Text; import javafx.stage.Stage; import javafx.scene.effect.*; /** * @author GaSK */ var pelota : pelota[]=[pelota{}]; var timeline : Timeline = Timeline { repeatCount: Timeline.INDEFINITE keyFrames: KeyFrame { time: 1ms canSkip: true action: function() { update(); } } }; function update() : Void { pelota[0].update(); } Stage { scene: Scene { width: 400 height: 400 fill: Color.BLACK content: bind pelota } title: "Pelotita" } timeline.play(); class pelota extends CustomNode { var x : Number; var y : Number; var cx : Number; var cy : Number; var ccy : Number; var radio: Number; var cradio:Number; override function create(): Node { radio=25; cx=1; cy=1; cradio=1; x=radio; y=radio; return Group { content: [ Circle { centerX: bind x, centerY: bind y radius: bind radio fill: Color.WHITE effect: bind InnerShadow{radius:radio*0.8} }, ] }; } function update(): Void { x += cx; if (x+radio>400){ cx *= -1; x=-radio+400; } if ((x400){ y=400-radio; cy *= -0.8; if((cy<0)and(cy>-2)){ cy = -(400+radio)/50; } } radio+=cradio; if((radio>26)or(radio<25)){ cradio*=-1; } } }
Buscar este blog
martes, 9 de diciembre de 2008
Pelotita en JavaFX
Aqui otro ejemplo, se trata de una pelotita que va rebotando, tanto en el piso, como en las paredes. en el caso del movimiento en y, la "gravedad" reduce su velocidad o aumenta, y se le puso un efecto para que "lata", cambiando su radio en cada iteracion
Suscribirse a:
Comentarios de la entrada (Atom)
No hay comentarios.:
Publicar un comentario