<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>KodeGeek &#187; beta</title>
	<atom:link href="http://kodegeek.com/blog/tag/beta/feed/" rel="self" type="application/rss+xml" />
	<link>http://kodegeek.com/blog</link>
	<description>Programación, fitness, interés geek</description>
	<lastBuildDate>Sun, 29 Apr 2012 17:29:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>¿Qué hacer mientras esperamos que Halo Reach beta arranque?</title>
		<link>http://kodegeek.com/blog/2010/05/03/%c2%bfque-hacer-mientras-esperamos-que-halo-reach-beta-arranque/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25c2%25bfque-hacer-mientras-esperamos-que-halo-reach-beta-arranque</link>
		<comments>http://kodegeek.com/blog/2010/05/03/%c2%bfque-hacer-mientras-esperamos-que-halo-reach-beta-arranque/#comments</comments>
		<pubDate>Mon, 03 May 2010 22:03:09 +0000</pubDate>
		<dc:creator>josevnz</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[javafx]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[halo reach]]></category>
		<category><![CDATA[jnpl]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://kodegeek.com/blog/?p=2302</guid>
		<description><![CDATA[Bajándome el Beta, como otro de los millones de fanáticos de este juego Bueno, ya a esta hora el beta de Halo Reach está en pleno apogeo. Los gráficos simplemente no decepcionan, aunque como buen beta tiene varias verrugas (el servidor se cayó en más de una ocasión, los controles son un poco distintos, etc). [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/josevnz/4576445136/" title="Downloading Halo Reach Beta by josevnz, on Flickr"><img src="http://farm4.static.flickr.com/3337/4576445136_6aaccf7c9e_o.jpg" width="270" height="360" alt="Downloading Halo Reach Beta" /><br />
Bajándome el Beta, como otro de los millones de fanáticos de este juego</a></p>
<p>Bueno, ya a esta hora el <a href="http://www.bungie.net/projects/reach/article.aspx?ucc=faq">beta de Halo Reach está en pleno apogeo</a>. Los gráficos simplemente no decepcionan, aunque como buen beta tiene varias verrugas (el servidor se cayó en más de una ocasión, los controles son un poco distintos, etc). Pero en general, se ve prometedor.</p>
<p>Para celebrar, les invito a que corran esta aplicación escrita en <a href="http://javafx.com">JavaFX</a>, la cual escribí para la ocasión: <a href="http://kodegeek.com/java/HaloWeb.jnlp">HaloWeb</a>.</p>
<p><a href="http://kodegeek.com/java/HaloWeb.jnlp" alt="Halo Web"><img src="http://farm5.static.flickr.com/4050/4579546023_7505d8c043.jpg" border="0"/></a></p>
<p> Si les gusto les puedo explicar el código a continuación:</p>

<div class="wp_codebox"><table><tr id="p23024"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
</pre></td><td class="code" id="p2302code4"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">haloweb</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.stage.Stage</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.scene.Scene</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.scene.paint.Color</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.scene.image.ImageView</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.scene.image.Image</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.scene.media.Media</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.scene.media.MediaPlayer</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.scene.media.MediaView</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.scene.shape.Rectangle</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.scene.effect.DropShadow</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.animation.Interpolator</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.animation.Timeline</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.scene.control.Button</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.scene.control.Tooltip</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.scene.Cursor</span><span style="color: #339933;">;</span>
&nbsp;
var isPlaying <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
&nbsp;
var currentCursor <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Acursor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Cursor</span></a>.<span style="color: #006633;">WAIT</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #008000; font-style: italic; font-weight: bold;">/**
 * Simple application that plays a Halo Reach video while doing other eye candy
 * effects, or an excuse to do something while Bungie keeps rebooting the Halo
 * Reach Beta every 10 minutes :)
 * @author josevnz at kodegeek dot com, http://kodegeek.com/
 * License: BSD
 */</span>
&nbsp;
&nbsp;
def <span style="color: #000000; font-weight: bold;">const</span> <span style="color: #339933;">=</span> Constants <span style="color: #009900;">&#123;</span>
    videoUrl<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;http://download.halowaypoint.com/content/waypoint/assets/videos/web/032373081197/Halo_Reach_Multiplayer_Trailer_ESRB_360p_ST.wmv&quot;</span><span style="color: #339933;">;</span>
    backgroundUrl<span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span>
        <span style="color: #0000ff;">&quot;http://www.bungie.net/images/Games/Reach/images/visualID/REACH_KeyArt_Horizontal_1920x1080.jpg&quot;</span>,
        <span style="color: #0000ff;">&quot;http://www.bungie.net/images/Games/Reach/images/concept_art/ReachConcept_NobleTeam.jpg&quot;</span>
        <span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    width<span style="color: #339933;">:</span><span style="color: #cc66cc;">800</span><span style="color: #339933;">;</span>
    height<span style="color: #339933;">:</span> <span style="color: #cc66cc;">600</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
def videoWidth <span style="color: #339933;">=</span> <span style="color: #cc66cc;">640</span><span style="color: #339933;">;</span>
def videoHeight <span style="color: #339933;">=</span> <span style="color: #cc66cc;">360</span><span style="color: #339933;">;</span>
&nbsp;
def backImage1 <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aimage+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Image</span></a> <span style="color: #009900;">&#123;</span>
		url<span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">const</span>.<span style="color: #006633;">backgroundUrl</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
def backImage2 <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aimage+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Image</span></a> <span style="color: #009900;">&#123;</span>
		url<span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">const</span>.<span style="color: #006633;">backgroundUrl</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
var backOpacity<span style="color: #339933;">:</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Anumber+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Number</span></a> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0.0</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Animation to show transition between the two images</span>
var backgroundTimeline <span style="color: #339933;">=</span> Timeline <span style="color: #009900;">&#123;</span>
    keyFrames<span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span>
        at<span style="color: #009900;">&#40;</span>0s<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        backOpacity <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">0.0</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>,
        at<span style="color: #009900;">&#40;</span>1s<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        backOpacity <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">1.0</span> tween Interpolator.<span style="color: #006633;">LINEAR</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#93;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// First background</span>
var backgroundView1 <span style="color: #339933;">=</span> ImageView <span style="color: #009900;">&#123;</span>
	image<span style="color: #339933;">:</span> backImage1
        fitHeight<span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">const</span>.<span style="color: #006633;">height</span>
        fitWidth<span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">const</span>.<span style="color: #006633;">width</span>
        preserveRatio<span style="color: #339933;">:</span> <span style="color: #000066; font-weight: bold;">true</span>
        opacity<span style="color: #339933;">:</span> <span style="color: #cc66cc;">1.0</span>
        clip<span style="color: #339933;">:</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Arectangle+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Rectangle</span></a> <span style="color: #009900;">&#123;</span>
            height<span style="color: #339933;">:</span><span style="color: #000000; font-weight: bold;">const</span>.<span style="color: #006633;">height</span>
            width<span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">const</span>.<span style="color: #006633;">width</span>
            arcWidth<span style="color: #339933;">:</span> <span style="color: #cc66cc;">50</span>,
            arcHeight<span style="color: #339933;">:</span> <span style="color: #cc66cc;">50</span>
        <span style="color: #009900;">&#125;</span>
        effect<span style="color: #339933;">:</span> DropShadow <span style="color: #009900;">&#123;</span>
            offsetX<span style="color: #339933;">:</span><span style="color: #cc66cc;">10</span>
            offsetY<span style="color: #339933;">:</span><span style="color: #cc66cc;">10</span>
            color<span style="color: #339933;">:</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Acolor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Color</span></a>.<span style="color: #006633;">BLACK</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Background with rollover</span>
var backgroundView2 <span style="color: #339933;">=</span> ImageView <span style="color: #009900;">&#123;</span>
	image<span style="color: #339933;">:</span> backImage2
        fitHeight<span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">const</span>.<span style="color: #006633;">height</span>
        fitWidth<span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">const</span>.<span style="color: #006633;">width</span>
        preserveRatio<span style="color: #339933;">:</span> <span style="color: #000066; font-weight: bold;">true</span>
        opacity<span style="color: #339933;">:</span> bind backOpacity
        clip<span style="color: #339933;">:</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Arectangle+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Rectangle</span></a> <span style="color: #009900;">&#123;</span>
            height<span style="color: #339933;">:</span><span style="color: #000000; font-weight: bold;">const</span>.<span style="color: #006633;">height</span> 
            width<span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">const</span>.<span style="color: #006633;">width</span>
            arcWidth<span style="color: #339933;">:</span> <span style="color: #cc66cc;">50</span>,
            arcHeight<span style="color: #339933;">:</span> <span style="color: #cc66cc;">50</span>
        <span style="color: #009900;">&#125;</span>
        effect<span style="color: #339933;">:</span> DropShadow <span style="color: #009900;">&#123;</span>
            offsetX<span style="color: #339933;">:</span><span style="color: #cc66cc;">10</span>
            offsetY<span style="color: #339933;">:</span><span style="color: #cc66cc;">10</span>
            color<span style="color: #339933;">:</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Acolor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Color</span></a>.<span style="color: #006633;">BLACK</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">// The second image is added last, run transition from there</span>
        onMouseEntered<span style="color: #339933;">:</span> function<span style="color: #009900;">&#40;</span>event<span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Avoid+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Void</span></a> <span style="color: #009900;">&#123;</span>
            backgroundTimeline.<span style="color: #006633;">rate</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Forward</span>
            backgroundTimeline.<span style="color: #006633;">play</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        onMouseExited<span style="color: #339933;">:</span> function<span style="color: #009900;">&#40;</span>event<span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Avoid+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Void</span></a> <span style="color: #009900;">&#123;</span>
            backgroundTimeline.<span style="color: #006633;">rate</span> <span style="color: #339933;">=</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Backwards</span>
            backgroundTimeline.<span style="color: #006633;">play</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
def video <span style="color: #339933;">=</span> Media <span style="color: #009900;">&#123;</span>
		source<span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">const</span>.<span style="color: #006633;">videoUrl</span>
                onError<span style="color: #339933;">:</span> function<span style="color: #009900;">&#40;</span>error<span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Avoid+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Void</span></a> <span style="color: #009900;">&#123;</span>
                    println<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;No se pudo cargar el video: {error.message}&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
def videoPlayer <span style="color: #339933;">=</span> MediaPlayer <span style="color: #009900;">&#123;</span>
	media <span style="color: #339933;">:</span> video
        autoPlay<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">false</span>
        volume<span style="color: #339933;">:</span><span style="color: #cc66cc;">0.6</span>
        repeatCount<span style="color: #339933;">:</span> MediaPlayer.<span style="color: #006633;">REPEAT_NONE</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
var isVisible<span style="color: #339933;">:</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Aboolean+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Boolean</span></a> <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">false</span><span style="color: #339933;">;</span>
&nbsp;
def haloVideoView <span style="color: #339933;">=</span> MediaView <span style="color: #009900;">&#123;</span>
	preserveRatio<span style="color: #339933;">:</span> <span style="color: #000066; font-weight: bold;">true</span>
	mediaPlayer <span style="color: #339933;">:</span> videoPlayer
        visible<span style="color: #339933;">:</span>bind isVisible
        fitHeight<span style="color: #339933;">:</span> videoHeight<span style="color: #339933;">;</span>
        fitWidth<span style="color: #339933;">:</span> videoWidth<span style="color: #339933;">;</span>
        translateX<span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">const</span>.<span style="color: #006633;">width</span> <span style="color: #339933;">-</span> videoWidth<span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">2</span>
        translateY<span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">const</span>.<span style="color: #006633;">height</span> <span style="color: #339933;">-</span> videoHeight<span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">60</span> <span style="color: #666666; font-style: italic;">// Little hack here</span>
&nbsp;
        <span style="color: #666666; font-style: italic;">// Control the video replay</span>
        onMousePressed<span style="color: #339933;">:</span> function<span style="color: #009900;">&#40;</span>event<span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Avoid+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Void</span></a> <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>isPlaying<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                videoPlayer.<span style="color: #006633;">pause</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">else</span> <span style="color: #009900;">&#123;</span>
                videoPlayer.<span style="color: #006633;">play</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
            isPlaying <span style="color: #339933;">=</span> not isPlaying<span style="color: #339933;">;</span>
            currentCursor <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Acursor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Cursor</span></a>.<span style="color: #000000; font-weight: bold;">DEFAULT</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        onMouseEntered<span style="color: #339933;">:</span>function<span style="color: #009900;">&#40;</span>event<span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Avoid+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Void</span></a> <span style="color: #009900;">&#123;</span>
            <span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>not isPlaying<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                currentCursor <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Acursor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Cursor</span></a>.<span style="color: #006633;">CROSSHAIR</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        onMouseExited<span style="color: #339933;">:</span>function<span style="color: #009900;">&#40;</span>event<span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Avoid+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Void</span></a> <span style="color: #009900;">&#123;</span>
            currentCursor <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Acursor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Cursor</span></a>.<span style="color: #000000; font-weight: bold;">DEFAULT</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Prepare the glowing text</span>
def kodegeekText <span style="color: #339933;">=</span> GlowingText <span style="color: #009900;">&#123;</span>
    height<span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">const</span>.<span style="color: #006633;">height</span>
    width<span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">const</span>.<span style="color: #006633;">width</span>
    text<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;http://KodeGeek.com/&quot;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
def exitButton <span style="color: #339933;">=</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Abutton+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Button</span></a> <span style="color: #009900;">&#123;</span>
	text<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;!Salir¡&quot;</span>
        translateX<span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">const</span>.<span style="color: #006633;">width</span> <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">const</span>.<span style="color: #006633;">width</span> <span style="color: #339933;">*</span> .10<span style="color: #009900;">&#41;</span>
        translateY<span style="color: #339933;">:</span> <span style="color: #cc66cc;">20</span>
        visible<span style="color: #339933;">:</span> bind isVisible
	action<span style="color: #339933;">:</span> function<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		FX.<span style="color: #006633;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
        tooltip<span style="color: #339933;">:</span> Tooltip <span style="color: #009900;">&#123;</span>
           text<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;Haga click aquí para salir de esta aplicación&quot;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
var videoTimeline <span style="color: #339933;">=</span> Timeline <span style="color: #009900;">&#123;</span>
    keyFrames<span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span>
        at <span style="color: #009900;">&#40;</span>5s<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            isVisible <span style="color: #339933;">=&gt;</span> <span style="color: #000066; font-weight: bold;">true</span><span style="color: #339933;">;</span>
            currentCursor <span style="color: #339933;">=&gt;</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Acursor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Cursor</span></a>.<span style="color: #000000; font-weight: bold;">DEFAULT</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#93;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #666666; font-style: italic;">// Show the final scene</span>
Stage <span style="color: #009900;">&#123;</span>
&nbsp;
    title<span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;KodeGeek está emocionado con Halo Reach!&quot;</span>
    scene<span style="color: #339933;">:</span> Scene <span style="color: #009900;">&#123;</span>
        width<span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">const</span>.<span style="color: #006633;">width</span>
        height<span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">const</span>.<span style="color: #006633;">height</span>
        fill<span style="color: #339933;">:</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Acolor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Color</span></a>.<span style="color: #006633;">TRANSPARENT</span>
        content<span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span>
            backgroundView1,
            backgroundView2,
            haloVideoView,
            kodegeekText,
            exitButton
        <span style="color: #009900;">&#93;</span>
        cursor<span style="color: #339933;">:</span> bind currentCursor<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
videoTimeline.<span style="color: #006633;">play</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Básicamente tenemos 2 fondos (backgroundView1, backgroundView2) de los cuales uno de ellos tiene opacidad variable, la cual cambia en cuando el usuario pone el cursor del ratón en el área de la aplicación. Los otros elementos son el vídeo (haloVideoView, el cual se puede parar o arrancar al hacer click en este), un texto &#8220;que brilla&#8221; (kodegeekText, con super publicidad <img src='http://kodegeek.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ), y botón que mata la aplicación (exitButton). Si usted tiene familiaridad con otros lenguajes como Flash o JavaScript entonces no debería tener problemas leyendo el código.</p>
<p>¿Como hacemos que el texto brille? Es sencillo, creamos un nodo a la medida el cual corre una animación infinita la cual tiene un efecto especial (Glow) sobre el texto (la variable del efecto cambia ya que le hacemos un &#8216;bind&#8217; con el nivel de brillo):</p>

<div class="wp_codebox"><table><tr id="p23025"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
</pre></td><td class="code" id="p2302code5"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">haloweb</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.scene.CustomNode</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.scene.Node</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.scene.effect.Glow</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.scene.effect.Lighting</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.scene.effect.light.DistantLight</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.scene.paint.Color</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.scene.text.Font</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.scene.text.Text</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.animation.Interpolator</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.animation.KeyFrame</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">javafx.animation.Timeline</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #008000; font-style: italic; font-weight: bold;">/**
 * Simple glowing text node
 * @author josevnz at kodegeek dot com, http://kodegeek.com/
 * License: BSD
 */</span>
&nbsp;
var glowLevel<span style="color: #339933;">:</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Anumber+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Number</span></a> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1.0</span><span style="color: #339933;">;</span>
&nbsp;
var glowTimeline<span style="color: #339933;">:</span> Timeline <span style="color: #339933;">=</span> Timeline <span style="color: #009900;">&#123;</span>
    repeatCount<span style="color: #339933;">:</span> Timeline.<span style="color: #006633;">INDEFINITE</span>
    keyFrames<span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span>
        KeyFrame <span style="color: #009900;">&#123;</span>
            time<span style="color: #339933;">:</span> 600ms
            values<span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span>
                glowLevel <span style="color: #339933;">=&gt;</span> .7 tween Interpolator.<span style="color: #006633;">EASEBOTH</span>
            <span style="color: #009900;">&#93;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#93;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> GlowingText <span style="color: #000000; font-weight: bold;">extends</span> CustomNode <span style="color: #009900;">&#123;</span>
&nbsp;
    public<span style="color: #339933;">-</span>init var width<span style="color: #339933;">:</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Anumber+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Number</span></a><span style="color: #339933;">;</span>
    public<span style="color: #339933;">-</span>init var height<span style="color: #339933;">:</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Anumber+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Number</span></a><span style="color: #339933;">;</span>
    public<span style="color: #339933;">-</span>init var text<span style="color: #339933;">:</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> override function create<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span>Node <span style="color: #009900;">&#123;</span>
&nbsp;
        glowTimeline.<span style="color: #006633;">play</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        Text <span style="color: #009900;">&#123;</span>
            font <span style="color: #339933;">:</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Afont+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Font</span></a> <span style="color: #009900;">&#123;</span>
		size<span style="color: #339933;">:</span> <span style="color: #cc66cc;">24</span>
            <span style="color: #009900;">&#125;</span>
            translateX<span style="color: #339933;">:</span> width <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>width <span style="color: #339933;">*</span> <span style="color: #cc66cc;">0.30</span><span style="color: #009900;">&#41;</span>
            translateY<span style="color: #339933;">:</span> height <span style="color: #339933;">-</span> <span style="color: #009900;">&#40;</span>height <span style="color: #339933;">*</span> <span style="color: #cc66cc;">0.25</span><span style="color: #009900;">&#41;</span>
            content<span style="color: #339933;">:</span> text
            fill<span style="color: #339933;">:</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Acolor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Color</span></a>.<span style="color: #006633;">DARKORANGE</span>
            effect<span style="color: #339933;">:</span> Glow <span style="color: #009900;">&#123;</span>
                level<span style="color: #339933;">:</span> bind glowLevel
                input<span style="color: #339933;">:</span> Lighting <span style="color: #009900;">&#123;</span>
                    light<span style="color: #339933;">:</span> DistantLight <span style="color: #009900;">&#123;</span>azimuth<span style="color: #339933;">:</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">135</span><span style="color: #009900;">&#125;</span>
                    surfaceScale<span style="color: #339933;">:</span> <span style="color: #cc66cc;">3</span>
                    diffuseConstant<span style="color: #339933;">:</span> <span style="color: #cc66cc;">1.8</span>
                <span style="color: #009900;">&#125;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
   <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Y una clase de constantes que escribí para este programa. Inútil, en algún momento puliré más la aplicación:</p>

<div class="wp_codebox"><table><tr id="p23026"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</pre></td><td class="code" id="p2302code6"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">haloweb</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #008000; font-style: italic; font-weight: bold;">/**
 * Useful constant for the HaloWeb project
 * @author josevnz at kodegeek dot com, http://kodegeek.com/
 * License: BSD
 */</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Constants <span style="color: #009900;">&#123;</span>
    public<span style="color: #339933;">-</span>init var videoUrl<span style="color: #339933;">:</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a><span style="color: #339933;">;</span>
    public<span style="color: #339933;">-</span>init var backgroundUrl<span style="color: #339933;">:</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Astring+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">String</span></a> <span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    public<span style="color: #339933;">-</span>init var width<span style="color: #339933;">:</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Anumber+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Number</span></a><span style="color: #339933;">;</span>
    public<span style="color: #339933;">-</span>init var height<span style="color: #339933;">:</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Anumber+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Number</span></a><span style="color: #339933;">;</span>
    public<span style="color: #339933;">-</span>init var backgroundWidth<span style="color: #339933;">:</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Anumber+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Number</span></a><span style="color: #339933;">;</span>
    public<span style="color: #339933;">-</span>init var backgroundHeight<span style="color: #339933;">:</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3Anumber+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #003399;">Number</span></a><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>No me tomó mucho tiempo escribir el código, pero debo decir <strong>que NeBeans 6.9 es una porquería</strong>. A cada rató se caia, me daba errores por todos lados y su creador de interfaces gráficas tiene demasiados problemas. A la final armé la aplicación a pedal y bomba, como los machos <img src='http://kodegeek.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Por ahora no tengo intenciones de meter este código en Subversion, me da flojera. Avisenme si de verdad quieren este código y con gusto hago el esfuerzo <img src='http://kodegeek.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Ahora los dejo, vamos a ver si el servidor de Bungie está funcionando para continuar jugando el nuevo beta <img src='http://kodegeek.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>&#8211;Jose</p>
]]></content:encoded>
			<wfw:commentRss>http://kodegeek.com/blog/2010/05/03/%c2%bfque-hacer-mientras-esperamos-que-halo-reach-beta-arranque/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://download.halowaypoint.com/content/waypoint/assets/videos/web/032373081197/Halo_Reach_Multiplayer_Trailer_ESRB_360p_ST.wmv" length="18534041" type="video/x-ms-wmv" />
		</item>
		<item>
		<title>El sitio web de StupidZombie está casi listo</title>
		<link>http://kodegeek.com/blog/2009/05/20/el-sitio-web-de-stupidzombie-esta-casi-listo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=el-sitio-web-de-stupidzombie-esta-casi-listo</link>
		<comments>http://kodegeek.com/blog/2009/05/20/el-sitio-web-de-stupidzombie-esta-casi-listo/#comments</comments>
		<pubDate>Wed, 20 May 2009 10:09:12 +0000</pubDate>
		<dc:creator>josevnz</dc:creator>
				<category><![CDATA[kodegeek]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[stupidzombie]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://kodegeek.com/blog/?p=1786</guid>
		<description><![CDATA[Si, ya Romney lo tiene casi listo, los invito a que lo vean y opinen.]]></description>
			<content:encoded><![CDATA[<p>Si, ya Romney lo tiene casi listo, los invito a <a href="http://stupidzombie.com/blog/2009/05/20/beta-of-stupidzombie-website-is-available-now/" target="_blank">que lo vean y opinen</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://kodegeek.com/blog/2009/05/20/el-sitio-web-de-stupidzombie-esta-casi-listo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>notchup.com: ¿Nueva forma de buscar trabajo?</title>
		<link>http://kodegeek.com/blog/2008/01/26/notchupcom-%c2%bfnueva-forma-de-buscar-trabajo/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=notchupcom-%25c2%25bfnueva-forma-de-buscar-trabajo</link>
		<comments>http://kodegeek.com/blog/2008/01/26/notchupcom-%c2%bfnueva-forma-de-buscar-trabajo/#comments</comments>
		<pubDate>Sat, 26 Jan 2008 12:26:00 +0000</pubDate>
		<dc:creator>josevnz</dc:creator>
				<category><![CDATA[beta]]></category>
		<category><![CDATA[jobsite]]></category>
		<category><![CDATA[notchup]]></category>

		<guid isPermaLink="false">http://kodegeek.com/blog/?p=1226</guid>
		<description><![CDATA[No puedo decir mucho sobre notchup.com, al cual me invitaron mientras está en modo beta (si, protegido con password y todo). No quiero decir quien me invitó tampoco, pero el pana está siempre en todo. Lo que si les puedo decir es que compañías grandes de Internet lo están utilizando YA (según las propagandas que [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm3.static.flickr.com/2021/2220702240_0390bed330_o.png" border="0" /></p>
<p>No puedo decir mucho sobre <a href="http://notchup.com/">notchup.com</a>, al cual <span style="font-style: italic;">me invitaron mientras está en modo beta</span> (si, protegido con password y todo). No quiero decir quien me invitó tampoco, pero el pana está siempre en todo. Lo que si les puedo decir es que compañías grandes de Internet lo están utilizando YA (según las propagandas que vi en el website) y que su concepto es realmente original.</p>
<p>El beta trabaja muy bien, sobre todo la parte de importación del perfil desde otros lados. El mio funcionó perfectamente.</p>
<p>Pero lo que más me gusto es la posibilidad de hacer dinero con el portal <img src='http://kodegeek.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>En algún momento les hablare más del portal, pero por ahora no puedo.</p>
]]></content:encoded>
			<wfw:commentRss>http://kodegeek.com/blog/2008/01/26/notchupcom-%c2%bfnueva-forma-de-buscar-trabajo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

