<?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>Nightspade Blog</title>
	<atom:link href="http://blog.nightspade.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.nightspade.com</link>
	<description>Rich Interactive Application Blog</description>
	<lastBuildDate>Fri, 18 Feb 2011 09:38:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>

   <image>
    <title>Nightspade Blog</title>
    <url>http://0.gravatar.com/avatar/4b24584dbe19f98d1c9fda8f00b3b527?s=48&amp;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536</url>
    <link>http://blog.nightspade.com</link>
   </image>
		<item>
		<title>Logwatch</title>
		<link>http://blog.nightspade.com/2010/10/10/logwatch/</link>
		<comments>http://blog.nightspade.com/2010/10/10/logwatch/#comments</comments>
		<pubDate>Sun, 10 Oct 2010 22:50:10 +0000</pubDate>
		<dc:creator>Muhammad Fiqri Muthohar</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[centOS]]></category>
		<category><![CDATA[log]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://blog.nightspade.com/?p=511</guid>
		<description><![CDATA[Bismillah, Sudah lama tampaknya tidak menulis artikel di sini, kali ini saya akan mencoba menulis tentang Logwatch. Logwatch sendiri sebenarnya apa sih? Berdasarkan hasil pencarian melalui google : Logwatch analyzes and reports on system logs. It is a customizable and pluggable log-monitoring system and will go through the logs for a given period of time [...]]]></description>
			<content:encoded><![CDATA[<p>Bismillah,</p>
<p>Sudah lama tampaknya tidak menulis artikel di sini, kali ini saya akan mencoba menulis tentang <em>Logwatch</em>. <em>Logwatch</em> sendiri sebenarnya apa sih? Berdasarkan hasil pencarian melalui google :</p>
<blockquote><p>Logwatch analyzes and reports on system logs. It is a customizable and pluggable log-monitoring system and will go through the logs for a given period of time and make a customizable report. It should work right out of the package on most systems.</p></blockquote>
<p><span id="more-511"></span><br />
Jadi intinya, aplikasi ini membantu menganalisa dan melaporkan log dari sistem. Karena sering banyaknya berkas log yang harus dibaca dan cukup memakan waktu, adanya aplikasi ini sangat membantu untuk membaca isi dari berkas log dan menghemat waktu yang dibutuhkan. Hasil analisa dari aplikasi ini akan dikirimkan ke alamat email sang administrator yang telah diatur pada berkas konfigurasinya.</p>
<p>Installasi aplikasi ini di CentOS 5, cukuplah mudah hanya dengan menjalankan perintah:</p>
<blockquote><p><code>yum install logwatch</code></p></blockquote>
<p>dengan menggunakan user root ataupun memiliki kewenangan administratif.</p>
<p>Setelah proses installasi selesai, lakukan proses konfigurasi Logwatch dengan mengubah isi dari berkas <strong>/usr/share/logwatch/default.conf/logwatch.conf</strong> . Anda dapat membaca isinya dan melakukan perubahan sesuai yang Anda perlukan, namun setidaknya Anda harus merubah baris ini :</p>
<blockquote>
<pre>MailTo = root</pre>
</blockquote>
<p>menjadi:</p>
<blockquote>
<pre>MailTo = alamatemail@domainanda.com</pre>
</blockquote>
<p>simpan perubahan yang Anda lakukan. Sekarang tinggal tunggu saja laporan dikirimkan ke alamat email yang telah Anda atur, atau jika ingin segera mengetahui apakah aplikasi berjalan dengan baik dapat langsung mengetikkan perintah berikut ini:</p>
<blockquote>
<pre>logwatch</pre>
</blockquote>
<p>dengan menggunakan user root atau yang memiliki kewenangan.</p>
<p>sekian, terimakasih. semoga tulisan ini dapat bermanfaat</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nightspade.com/2010/10/10/logwatch/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Virtual Sound dengan Piano Display</title>
		<link>http://blog.nightspade.com/2010/04/12/virtual-sound-dengan-piano-display/</link>
		<comments>http://blog.nightspade.com/2010/04/12/virtual-sound-dengan-piano-display/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 10:02:55 +0000</pubDate>
		<dc:creator>garibaldy w mukti</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[sound]]></category>
		<category><![CDATA[virtual]]></category>

		<guid isPermaLink="false">http://blog.nightspade.com/flex/2010/04/virtual-sound-dengan-piano-display/</guid>
		<description><![CDATA[Yoho, Sambil mengerjakan TA (Tugas Akhir), saya membuat sample generator suara di flash. Generator suara ini saya buat dengan tampilan piano agar mudah dimengerti. Saya memanfaatkan file dari Ben Stucki (yang menganalisis frekuensi dalam flash as3) untuk membuatnya. Bisa dicoba langsung dan diunduh filenya. Untuk nilai frekuensinya, saya menggunakan referensi dari sini. Ini swf-nya : [...]]]></description>
			<content:encoded><![CDATA[<p>Yoho,</p>
<p>Sambil mengerjakan TA (Tugas Akhir), saya membuat sample generator suara di flash. Generator suara ini saya buat dengan tampilan piano agar mudah dimengerti. Saya memanfaatkan file dari Ben Stucki (yang menganalisis frekuensi dalam flash as3) untuk membuatnya. Bisa dicoba langsung dan diunduh filenya. Untuk nilai frekuensinya, saya menggunakan referensi dari <a href="http://www.phy.mtu.edu/~suits/notefreqs.html" target="_blank">sini</a>.</p>
<p>Ini swf-nya : <a href="http://blog.nightspade.com/wp-content/uploads/2010/04/Piano.swf">Piano</a></p>
<p>Ini source-nya : <a href="http://blog.nightspade.com/wp-content/uploads/2010/04/Piano.zip">Piano</a></p>
<p>Silahkan dicoba-coba untuk dikembangkan.</p>
<p>Chao!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nightspade.com/2010/04/12/virtual-sound-dengan-piano-display/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hati-hati dengan Preloader Flash pada Internet Explorer</title>
		<link>http://blog.nightspade.com/2010/02/03/hati-hati-dengan-preloader-flash-pada-internet-explorer/</link>
		<comments>http://blog.nightspade.com/2010/02/03/hati-hati-dengan-preloader-flash-pada-internet-explorer/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 14:07:02 +0000</pubDate>
		<dc:creator>Evan Gozali</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[preloader]]></category>

		<guid isPermaLink="false">http://blog.nightspade.com/?p=437</guid>
		<description><![CDATA[Kemarin ini client yang membeli game Sucrose Defense mengirim komplain bahwa gamenya tidak berjalan di Internet Explorer 8, tampaknya freeze saat preloader berada di 99%. Selidik punya selidik, menurut master-master flash di forum, ternyata ada trik tertentu untuk membuat preloader untuk Internet Explorer. Kalau biasa preloader yang dipakai menggunakan event PROGRESS sebagai berikut: function progressHandler(event:ProgressEvent){ [...]]]></description>
			<content:encoded><![CDATA[<p>Kemarin ini client yang membeli game Sucrose Defense mengirim komplain bahwa gamenya tidak berjalan di Internet Explorer 8, tampaknya freeze saat preloader berada di 99%. Selidik punya selidik, menurut master-master flash di forum, ternyata ada trik tertentu untuk membuat preloader untuk Internet Explorer.<span id="more-437"></span></p>
<p>Kalau biasa preloader yang dipakai menggunakan event PROGRESS sebagai berikut:</p>
<p>function progressHandler(event:ProgressEvent){<br />
if (event.bytesLoaded &gt;= event.bytesTotal) {<br />
//masuk ke game<br />
}<br />
else {<br />
//update progress bar<br />
}<br />
}<br />
this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);</p>
<p>Ternyata untuk Internet Explorer kadang-kadang ProgressEvent.PROGRESS tidak terpanggil saat progressnya sudah mencapai 100%. Karena itu cara yang dianjurkan adalah menggunakan event ENTER_FRAME sebagai berikut</p>
<p>function enterFrameHandler(event:Event){<br />
if (this.loaderInfo.bytesLoaded &gt;= this.loaderInfo.bytesTotal) {<br />
//masuk ke game<br />
}<br />
else {<br />
//update progress bar<br />
}<br />
}<br />
this.addEventListener(Event.ENTER_FRAME, enterFrameHandler);</p>
<p>Internet Explorer memang suka nyeleneh sendiri. Semoga tips ini bisa membantu.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nightspade.com/2010/02/03/hati-hati-dengan-preloader-flash-pada-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Embedding Asset at Compile Time in Pure AS3 Project</title>
		<link>http://blog.nightspade.com/2010/02/01/embedding-asset-at-compile-time-in-pure-as3-project/</link>
		<comments>http://blog.nightspade.com/2010/02/01/embedding-asset-at-compile-time-in-pure-as3-project/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 16:02:57 +0000</pubDate>
		<dc:creator>Inas Luthfi</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.nightspade.com/?p=421</guid>
		<description><![CDATA[When we are doing pure AS3 project especially game, somehow we need to put our game art asset into the game. We can achieve this using either runtime asset loading or embedding asset at compile time. If we are developing under Flash IDE, then embedding asset can be done automatically. Just import the assets to [...]]]></description>
			<content:encoded><![CDATA[<p>When we are doing pure AS3 project especially game, somehow we need to put our game art asset into the game. We can achieve this using either runtime asset loading or embedding asset at compile time. If we are developing under Flash IDE, then embedding asset can be done automatically. Just import the assets to library, and it will be embedded next time you publish your SWF. Even better, Flash IDE has many options to compress the embedded images or resampling audio in the library. However, these options are some reasons why on large size FLA project, Flash IDE publish SWF so slow. Compressing image and resampling audio takes a while, plus Flash IDE compiler is not fast enough.</p>
<p><span id="more-421"></span></p>
<p>Some Flashers nowadays prefer to embed asset manually without Flash IDE in order to avoid frustation when publishing swf in a large project, especially when we should test our code a lot. Using Flex Builder/FDT/Flashdevelop for example will fasten compile time, debugging support, and also offer excellent code-hinting. But unfortunately, embedding asset is not as easy as using Flash IDE, now we must write more code to achieve it.</p>
<p>When building large application, it is often beneficial when you split up SWF into smaller pieces, and load it at runtime,  this method is called <em>runtime asset loading</em>, i will not discuss it now. Here i will only write about embedding asset at compile time using pure AS3, i will not discuss embedding asset using MXML tag or using CSS on Flex Framework. For references i am using <a title="Cool Book" href="http://www.amazon.com/Essential-ActionScript-3-0-Colin-Moock/dp/0596526946" target="_blank">Moock&#8217;s book</a> especially chapter 28 &#8220;Loading External Display Assets&#8221; on the last part, and also some good articles on the net from fellow AS3 developers.</p>
<h2>Basic Embedding</h2>
<p>In first method we will use <span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px;">[Embed]</span> metadata supported by <em>mxmlc </em>command-line compiler for embedding asset.  Before using it, i must warn you that using <span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px;">[Embed]</span> will not give you any access to script on embedded SWF like on MovieClip asset. It is ideal for graphical and animated asset but not more, see <a href="http://livedocs.adobe.com/flex/3/html/help.html?content=embed_4.html" target="_blank">Adobe Resource Center</a> for more information. As a personal note, i discourage the use of timeline script except for really simple task such as stopping and playing <span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px;">MovieClip</span>.</p>
<p>When using <span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px;">[Embed]</span> metadata, you can assign it in <em>instance-variable definition level</em> or <em>class definition level</em>.</p>
<h3>Instance-Variable Definition Level</h3>

<div class="wp_syntax"><div class="code"><pre class="language" style="font-family:monospace;">[Embed (source = &quot;path&quot;)]
var ClassWithEmbed:Class;
// compiler will create new Class as embedded asset representation at compile-time, then you can instantiate  new object
var newObject:* = new ClassWithEmbed();</pre></div></div>

<p>replace &#8220;path&#8221; with relative path or absolute path.</p>
<p>You may change * datatype with specific Class, but what is the real datatype for embedded asset? AS3 reflection method will tell us:</p>

<div class="wp_syntax"><div class="code"><pre class="language" style="font-family:monospace;">describeType(newObject).extendsClass</pre></div></div>

<p>the method will eventually tell you what <span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px;">newObject</span>&#8216;s type is actually. If it is bitmap asset it will be a class that extends from <span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px;">mx.core.BitmapAsset</span>. <span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px;">BitmapAsset</span> extends <span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px;">FlexBitmap</span> then extends <span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px;">Bitmap</span>. There is a problem if you wish to create smallest SWF as possible because you just added <span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px;">mx.core</span> Flex Classes which is overkill. You can turn on <span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px;">link-report</span> <em>mxmlc</em> compiler option to see by yourself just how many class definition included when adding Flex Classes. See this <a href="http://blog.brokenfunction.com/2009/03/16/how-to-remove-flex-libraries-completely-from-your-as3-project/" target="_blank">useful blog</a> to know more about this. <a href="http://www.senocular.com/flash/tutorials/as3withmxmlc/" target="_blank">Senocular</a> has tutorial on <em>mxmlc</em>, if you wish to know what options <em>mxmlc</em> compiler has.</p>
<h3>Class Definition Level</h3>
<p>To avoid problem in <em>instance-variable definition level</em>, we can opt to <em>class definition level</em>. Look at code below, in other word, we extends specific Class for referencing embedded asset. Below we create GIFBitmap Class to extends Bitmap Class since we are embedding .gif image. After that we can use GIFBitmap Class to instantiate new objects.</p>

<div class="wp_syntax"><div class="code"><pre class="language" style="font-family:monospace;">package
{
    import flash.display.Bitmap;
&nbsp;
    [Embed (source = &quot;asset/some.gif&quot;)]
    public class GIFBitmap extends Bitmap{}
}</pre></div></div>

<p>class definition level for embedding asset is a better way to do, since there is a concern on <a href="http://www.tage7.net/devblog/2010/01/15/as3-embedding-assets-memory-leak/" target="_blank">memory leak could happening</a> if you use metadata tag directly on instance-variable level.</p>
<p>AS3 will automatically &#8220;know&#8221; these types of files:</p>
<ul>
<li>JPG, for class definition level, extends from flash.display.Bitmap</li>
<li>GIF, for class definition level, extends from flash.display.Bitmap</li>
<li>PNG, for class definition level, extends from flash.display.Bitmap</li>
<li>SVG, for class definition level, extends from flash.display.Sprite</li>
<li>MP3, for class definition level, extends from flash.media.Sound</li>
<li>TTF, there is special case with font embedding</li>
<li>SWF, you must use variable-instance level, but for the symbol inside SWF, you can extends from Sprite or MovieClip</li>
</ul>
<h3>Embedding Bitmap</h3>
<p>You may embed jpg, png, and gif files without so much hassle. If you use instance-variable method, the resulting class would be from  mx.core.BitmapAsset.</p>

<div class="wp_syntax"><div class="code"><pre class="language" style="font-family:monospace;">// instance-variable level
[Embed (source = &quot;asset/any.png&quot;)]
var AssetClass:Class;
// intantiation
var temp:* = new AssetClass(); // temp is a class of mx.core.BitmapAsset</pre></div></div>

<p>Class-definition method is preferable if you want smallest possible SWF  size. Your subclass should extends from Bitmap.</p>

<div class="wp_syntax"><div class="code"><pre class="language" style="font-family:monospace;">// class-definition level
package
{
    import flash.display.Bitmap;
&nbsp;
    // extends Bitmap, not mx.core.BitmapAsset
    [Embed (source = &quot;asset/somepng.png&quot;)]
    public class PNGBitmap extends Bitmap
    {
        public function PNGBitmap(){}
    }
}</pre></div></div>

<h3>Embedding Sound</h3>
<p>You may embed MP3 file. If you use instance-variable method, the resulting class would be from <span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px;">mx.core.SoundAsset.</span></p>

<div class="wp_syntax"><div class="code"><pre class="language" style="font-family:monospace;">// instance-variable level
[Embed (source = &quot;asset/any.mp3&quot;)]
var AssetClass:Class;
// intantiation
var temp:* = new AssetClass(); // temp is a class of mx.core.SoundAsset
temp.play(); // play the cool sound</pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="language" style="font-family:monospace;">// class-definition level
package
{
    import flash.media.Sound;
    // extends Sound
    [Embed (source = &quot;asset/cool.mp3&quot;)]
    public class SoundTrack extends Sound
    {
        public function SoundTrack(){}
    }
}
&nbsp;
// try to instantiate it
var sound:flash.media.sound = new SoundTrack();
sound.play();</pre></div></div>

<h3>Embedding Old Swf (targeting below Flash Player 9)</h3>
<p>When you are developing newer swf targeting Flash Player 9 and later, it is better that you use SWC Embedding method, since IDE such as FlashDevelop or Flex/Flash builder can see through the SWC and lists all of the symbol inside that swc.</p>
<p>Now for embedding the SWF, if you wish to embed entire SWF, unfortunately you must use instance-variable method and for the datatype for the class will be <span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px;">mx.core.MovieClipLoaderAsset</span>, meaning you must go with adding Flex Library. There is a panacea though, by using binary file method discussed later.</p>

<div class="wp_syntax"><div class="code"><pre class="language" style="font-family:monospace;">[Embed (source = &quot;star.swf&quot;)]
var SWFAsset:Class;
var swf:* = new SWFAsset();
addChild(swf);</pre></div></div>

<p>If you wish to reference MovieClip or Sprite on the swf, you can use class definition method, remember to add linkage id on the symbol you wish to be referenced.</p>

<div class="wp_syntax"><div class="code"><pre class="language" style="font-family:monospace;">package
{
    import flash.display.*;
    import flash.utils.describeType;
&nbsp;
    [Embed (source=&quot;asset/star.swf&quot;, symbol=&quot;Star&quot;)]
    public class SWFAsset extends Sprite
    {
       public function SWFAsset(){}
    }
}</pre></div></div>

<p>You can actually use SWF embedding and <span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px;">getDefinition()</span> method to get the symbol reference. But it is better to use SWC embedding though.</p>
<h3>Embedding Anything</h3>
<p>Yes, you can embed just anything if you use binary file embedding. You can embed text files, xml, or whatever as long as you can parse it. AS3 XML class can parse ByteArray to XML for example. In fact if you loaded SWF this way, you may not use Flex Library.</p>

<div class="wp_syntax"><div class="code"><pre class="language" style="font-family:monospace;">package
{
    import flash.utils.ByteArray;
&nbsp;
    [Embed (source=&quot;asset/star.swf&quot;, mimeType=&quot;application/octet-stream&quot;)]
    public class ByteAsset extends ByteArray
    {
        public function SWFAsset(){}
    }
}
&nbsp;
// then use it on somewhere
import flash.display.Loader
&nbsp;
var loader:Loader = new Loader();
loader.loadBytes(new ByteAsset());
addChild(loader);</pre></div></div>

<p>If you read SWF binary, you can actually use SWF embedding and getDefinition() method to get the  symbol reference too.</p>
<h2>SWC Embedding</h2>
<p>Actually SWC is like a compiled library file plus the class definition. For Action Script 3, it is quite common to see custom-made library developed by people to be distributed in SWC, but more than that, SWC can also be made to package asset files. Flash IDE can publish SWC instead of just SWF, and so we can add the SWC to our library path and &#8220;pull&#8221; assets from our SWC using class instantiation. This method is also preferable workflow of Flash IDE and Flex Builder/Flash Builder/FlashDevelop integration. See also <a href="http://www.airtightinteractive.com/news/?p=327" target="_blank">Airtightinteractive blog</a> for more information about this workflow and <a href="http://blog.geewa.com/post/2009/03/16/Integrating-Flash-Professional-and-Flex-Builder-Using-SWC.aspx">Geewa blog</a> for strategy using the SWC.</p>
<p>For Flash IDE to generate SWC instead of just SWF, you must enable it on Publish Settings &gt; Flash &gt; Export SWC. Do not forget to add linkage id on flash symbol you want to instantiate on Actionscript 3. Set the base Class to <span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px;">MovieClip</span> or <span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px;">Sprite.</span></p>
<p>Then add the SWC, it will be easier if you use Flex Builder or FlashDevelop. If you named your linkage <span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px;">Star</span> that use <span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px;">Sprite</span> as a base class for example, you may use it directly:</p>

<div class="wp_syntax"><div class="code"><pre class="language" style="font-family:monospace;">var temp:Sprite = new Star();
aDisplayContainer.addChild(temp);</pre></div></div>

<p>For font embedding and more things including Flex SDK related embed method, you may see <a href="http://www.gskinner.com/talks/flexlovesflash/" target="_blank">Grant Skinner&#8217;s Presentation</a> and of course article on <a href="http://www.adobe.com/devnet/flash/articles/embed_metadata_04.html" target="_blank">Flash Developer Center</a>. Embedding binary file is another approach to embed arbitrary file, but maybe that is the topic for future post <img src='http://blog.nightspade.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nightspade.com/2010/02/01/embedding-asset-at-compile-time-in-pure-as3-project/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Start Development As Soon As Possible</title>
		<link>http://blog.nightspade.com/2010/01/28/start-development/</link>
		<comments>http://blog.nightspade.com/2010/01/28/start-development/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 09:31:01 +0000</pubDate>
		<dc:creator>Dody Dharma</dc:creator>
				<category><![CDATA[Art & Design]]></category>
		<category><![CDATA[Marketing & Management]]></category>
		<category><![CDATA[desain]]></category>
		<category><![CDATA[develoment]]></category>
		<category><![CDATA[effective]]></category>

		<guid isPermaLink="false">http://blog.nightspade.com/?p=339</guid>
		<description><![CDATA[Setelah membaca potongan (snipped) Chapter 3 buku Effective-UI-Building-Experience-Software karya EffectiveUI , ada satu hal yang benar-benar mengetuk hati awak, yaitu: Start Development As Soon As Possible Dalam pengalaman perdana menahkodai proyek Apricot, awak menganggap saat itu proses analisis dan desain merupakan fase yang terpisah dari proses development. Hal ini tidak dapat dipungkiri, mungkin karena awak  [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-340" title="desain" src="http://blog.nightspade.com/wp-content/uploads/2010/01/desain.jpg" alt="desain" width="585" height="264" /></p>
<p>Setelah membaca potongan (<em>snipped</em>) <em>Chapter 3 </em> buku Effective-UI-Building-Experience-Software karya <a title="Perusahaan keren banget" href="http://www.effectiveui.com/">EffectiveUI</a> , ada satu hal yang benar-benar mengetuk hati awak, yaitu:</p>
<blockquote><p><strong><em>Start Development As Soon As Possible</em></strong></p></blockquote>
<p><span id="more-339"></span>Dalam pengalaman perdana menahkodai proyek Apricot, awak menganggap saat itu proses analisis dan desain merupakan fase yang terpisah dari proses <em>development</em>. Hal ini tidak dapat dipungkiri, mungkin karena awak  sangat terpengaruh gaya pengelolaan proyek yang diajarkan di kuliah Perangkat lunak  (RPL, RPLL, PPL &amp; MPPL).</p>
<p>Padahal setelah <em>ditilik-tilik</em> , dalam kenyataanya, <em>Development</em> adalah fase dimana sebagian besar <em><strong>proses mendesain  terjadi</strong></em>, dan desain itu sendiri sebenarnya merupakan aktivitas menemukan masalah yang belum diketahui serta solusinya, sehingga <em>development </em>seharusnya dimulai sesegera mungkin. Jadi proses <em>development</em> bukanlah domain yang eksklusif dalam rekayasa perangkat lunak.</p>
<p><em>Development</em> merupakan tahap dimana setiap orang dalam tim berkolaborasi untuk mengembangkan sebuah solusi. Semakin awal kita memulainya, semakin cepat proses pembelajaran terjadi dan semakin cepat pula tantangan dan kesempatan yang belum diketahui ditemukan.</p>
<p>Akhirnya awak menyadari bahwa, style mendesain <em>on the fly</em>, merupakan style yang emang cocok buat awak dan buat siapapun yang merasakannya cocok. <img src='http://blog.nightspade.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
<p>Sekarang saatnya membereskan sang <strong><em>Pesona</em></strong>. Let&#8217;s Rock!!!  <strong>\m/</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nightspade.com/2010/01/28/start-development/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Flash Motion Path dalam AS3: 1 Animasi untuk Berbagai Objek</title>
		<link>http://blog.nightspade.com/2010/01/20/flash-motion-path-dalam-as3-1-animasi-untuk-berbagai-objek/</link>
		<comments>http://blog.nightspade.com/2010/01/20/flash-motion-path-dalam-as3-1-animasi-untuk-berbagai-objek/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 17:55:55 +0000</pubDate>
		<dc:creator>Evan Gozali</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[animasi]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[motion path]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[tween]]></category>

		<guid isPermaLink="false">http://blog.nightspade.com/?p=325</guid>
		<description><![CDATA[Posting pertamax di tahun 2010! Seperti yang saya janjikan pada postingan sebelumnya, Flash Motion Path sebagai alternatif Motion Tween klasik, pada tulisan ini saya akan mencoba membahas cara menerapkan motion path melalui kode AS3. Seperti biasa, saya menggunakan cara yang paling mudah untuk membuat tutorial yaitu learning by doing alias teaching by example. File flash [...]]]></description>
			<content:encoded><![CDATA[<p>Posting pertamax di tahun 2010!<br />
Seperti yang saya janjikan pada postingan sebelumnya, <a href="http://blog.nightspade.com/flash/2009/12/flash-motion-path-sebagai-alternatif-motion-tween-klasik/" target="_blank">Flash Motion Path sebagai alternatif Motion Tween klasik</a>, pada tulisan ini saya akan mencoba membahas cara menerapkan motion path melalui kode AS3. Seperti biasa, saya menggunakan cara yang paling mudah untuk membuat tutorial yaitu <em>learning by doing</em> alias <em>teaching by example</em>. File flash yang digunakan akan melanjutkan contoh dari postingan sebelumnya, jadi yang belum baca silakan <a href="http://blog.nightspade.com/flash/2009/12/flash-motion-path-sebagai-alternatif-motion-tween-klasik/" target="_blank">baca </a>terlebih dahulu dan ikuti langkah-langkahnya.</p>
<p>Kalau sudah, langkah berikutnya adalah menambahkan label pada motion path yang sudah dibuat. Klik frame pada Layer 1, lalu di bagian Properties beri nama motion path misalnya &#8220;motion1&#8243;.</p>
<p><img class="alignnone size-full wp-image-327" src="http://blog.nightspade.com/wp-content/uploads/2010/01/11.png" alt="1" width="608" height="94" /></p>
<p><span id="more-325"></span>Buat sebuah layer baru, tambahkan movie clip pada layer tersebut (bisa copy-paste dari movie clip pertama). Beri nama movie clip baru tersebut, misalnya &#8220;bola2&#8243;.</p>
<p><img class="alignnone size-full wp-image-328" src="http://blog.nightspade.com/wp-content/uploads/2010/01/2.png" alt="2" width="607" height="252" /></p>
<p>Pada frame pertama masukkan kode action script sebagai berikut:</p>
<pre>import fl.motion.AnimatorFactory;
import fl.motion.AnimatorBase;

var animator:AnimatorBase = AnimatorFactory(this["motion1"]).addTarget(this["bola2"]);</pre>
<p>Coba jalankan file tersebut, bola2 akan bergerak mengikuti jalur motion path yang sama dengan bola pertama.</p>
<p>Cara di atas cukup untuk mengaplikasikan sebuah motion path ke movie clip lain, tapi masalahnya sekali kita melakukan addTarget, movie clip tersebut akan terikat dengan motion path yang bersangkutan. Akibatnya jika kita melakukan addTarget terhadap movie clip lain dan menganimasikannya, movie clip yang sudah terikat sebelumnya akan ikut teranimasi. Karena itu saya mencoba membuat fungsi baru yang lebih fleksibel, di bawah ini saya tuliskan kodenya.</p>
<pre>import fl.motion.AnimatorFactory;
import fl.motion.Animator;

function createAnimator(target:DisplayObject, path:AnimatorFactory, repeatCount:int,
autoPlay:Boolean = true, autoRewind:Boolean = false ):Animator
{
  var animator:Animator;
  animator = new Animator();
  animator.motion = path.motion;
  animator.repeatCount = repeatCount;
  animator.useCurrentFrame(false, 1);
  animator.autoRewind = autoRewind;
  animator.target = target;
  if (autoPlay){
    animator.play();
  }
  return animator;
}

//cara penggunaan
createAnimator(this["bola2"],this["motion1"],1);</pre>
<p>Parameter-parameter yang lain dapat juga digunakan sesuai keperluan. Jika animasi tidak ingin dijalankan langsung (auto-play), maka cara menggunakannya</p>
<pre>var animator:Animator = createAnimator(this["bola2"],this["motion1"],1,false);
animator.play();</pre>
<p>Semoga tulisan ini cukup berguna bagi para Flash coder lainnya.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nightspade.com/2010/01/20/flash-motion-path-dalam-as3-1-animasi-untuk-berbagai-objek/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash Game Sponsorship</title>
		<link>http://blog.nightspade.com/2009/12/15/flash-game-sponsorship/</link>
		<comments>http://blog.nightspade.com/2009/12/15/flash-game-sponsorship/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 03:43:38 +0000</pubDate>
		<dc:creator>garibaldy w mukti</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Marketing & Management]]></category>
		<category><![CDATA[aspect]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[sponsor]]></category>

		<guid isPermaLink="false">http://blog.nightspade.com/?p=320</guid>
		<description><![CDATA[Ada 2 buah aspek yang harus diperhatikan dalam membuat flash game untuk dijual / disponsori, yaitu Game Requirements &#38; Tipe Sponsorship. Artikel ini akan membahas mengenai kedua aspek tersebut. Game Requirements Ada beberapa kriteria / aspek dalam pembuatan flash game yang dapat mempengaruhi nilai jualnya. Berikut ini adalah kriteria tersebut : Help / Tutorial Help [...]]]></description>
			<content:encoded><![CDATA[<p>Ada 2 buah aspek yang harus diperhatikan dalam membuat flash game untuk dijual / disponsori, yaitu Game Requirements &amp; Tipe Sponsorship. Artikel ini akan membahas mengenai kedua aspek tersebut.</p>
<p><strong>Game Requirements</strong></p>
<p>Ada beberapa kriteria / aspek dalam pembuatan flash game yang dapat mempengaruhi nilai jualnya. Berikut ini adalah kriteria tersebut :<span id="more-320"></span></p>
<ul>
<li>Help / Tutorial</li>
</ul>
<p>Help dalam sebuah game flash ini merupakan hal penting, karena tidak semua orang yang main akan langsung mengerti cara permainannya. Namun apabila bisa membuat sebuah game yang dapat dimengerti dengan mudah tanpa adanya help, akan jauh lebih baik. Tutorial juga perlu, dan umumnya ditempatkan pada fase awal sebuah permainan.</p>
<ul>
<li>In-Game-Ads</li>
</ul>
<p>In-Game-Ads (IGA) ini adalah semacam link banner yang disisipkan dalam game. Berbeda dengan splash screen yang muncul secara eksklusif selama beberapa saat, IGA dapat muncul terus menerus (misalnya berupa banner di pojok-pojok game) ataupun selama beberapa waktu (misalnya saat ganti level, mission complete, dll).</p>
<ul>
<li>First Impression</li>
</ul>
<p>Dalam sebuah game flash yang berbasis web, waktu merupakan hal yang krusial. Game yang baik adalah game yang dapat memberikan impresi yang menarik hanya dalam 30 detik. Alasan waktu 30 detik ini adalah karena pada umumnya pemain hanya mau memberikan waktu 1 menit untuk mencoba sebuah flash game, dengan mengasumsikan membutuhkan waktu 30 detik untuk me-load game, dan dalam 30 detik lagi, game sudah harus dapat meng-impress pemain.</p>
<ul>
<li>Hall of Fame / Score Board</li>
</ul>
<p>Kriteria ini sangat berkaitan apabila game akan dijual dengan sistem sponsorship Ads License (mengenai tipe sponsorship ini akan dijelaskan di bagian selanjutnya). Game harus dapat menyimpan informasi mengenai pemain yang telah menyelesaikan game tersebut. Informasi yang disimpan adalah : nama pemain, score, top 10 players, dll.</p>
<p><strong>Sponsorships</strong></p>
<p>Sponsorship untuk flash game ada beberapa jenis, diantaranya :</p>
<ul>
<li>Exclusive License</li>
</ul>
<p>Apabila menerima tipe sponsor ini, maka flash game tersebut akan beredar secara luas di internet dengan hanya 1 sponsor (sponsor dapat menyertakan logo pada splash screen dan IGA). Flash game tersebut tidak boleh memiliki sponsor lain.</p>
<ul>
<li>Primary License</li>
</ul>
<p>Tipe sponsor ini memiliki sedikit kemiripan dengan Exclusive License, namun flash game ini masih boleh disponsori pihak lain dengan beberapa syarat, yaitu :</p>
<p>- Game yang disponsori oleh pihak utama (memiliki logo sponsor pada splash screen dan IGA) boleh disebarkan secara bebas.</p>
<p>- Tidak boleh dijual pada pihak lain dalam jangka waktu tertentu (umumnya 7 hari).</p>
<p>- Pihak lain yang mensponsori hanya boleh site-locked (hanya boleh menempatkan game pada satu alamat URL saja, namun bebas memberi logo pada splash screen dan IGA).</p>
<ul>
<li>Normal License</li>
</ul>
<p>Normal License ini sebenarnya ada 2 jenis, yaitu Normal Site-Locked dan Normal Sponsor. Untuk tipe Normal Site-Locked adalah seperti yang dijelaskan pada bagian Primary License, yaitu yang bebas dijual namun hanya boleh disimpan pada sebuah URL, tidak boleh disebar. Sedangkan Normal Sponsor ini adalah sponsorship yang serba bebas, siapapun boleh mensponsori dan menyebarkannya di internet. Namun, jenis Normal Sponsor ini tidak begitu diminati oleh para sponsor maupun developer.</p>
<ul>
<li>Ads License</li>
</ul>
<p>Tipe sponsorship yang terakhir ini sangat bergantung pada jumlah user yang memainkan game. Semakin banyak user yang main, game tersebut akan semakin populer, dan semakin banyak pula dana yang diberikan oleh sponsor. Oleh karena itu, game dengan tipe sponsor ini memerlukan fitur Score Board  seperti yang sudah dijelaskan sebelumnya. Sebagai tambahan, untuk tipe sponsor ini dana yang diterima memang jauh lebih kecil dari tipe sponsor lainnya, namun dana yang diterima bersifat kontinu, yaitu setiap bulan ada dana yang diterima, dan besarnya bergantung pada kepopuleran game tersebut. Apabila game sangat populer, bisa jadi dana yang diterima jauh melebihi ketiga macam sponsor yang lainnya.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nightspade.com/2009/12/15/flash-game-sponsorship/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Iseng-iseng dengan Sound</title>
		<link>http://blog.nightspade.com/2009/12/09/iseng-iseng-dengan-sound/</link>
		<comments>http://blog.nightspade.com/2009/12/09/iseng-iseng-dengan-sound/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 05:32:24 +0000</pubDate>
		<dc:creator>Teddy Pandu Wirawan</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://blog.nightspade.com/?p=317</guid>
		<description><![CDATA[Berhubung kemaren dapet tugas baru untuk jadi sound designer, sekarang awa coba membahas dulu 2 software sound editor yang konon katanya paling mantab!! Yaitu Reason 4 dan Fruity Loop studio(FLS). Sebenernya, sangat kurang tepat kalo 2 software tadi hanya disebut sebagai sound editor. Reason 4 dan FLS lebih tepat disebut sebagai virtual studio. Jadi dengan [...]]]></description>
			<content:encoded><![CDATA[<p>Berhubung kemaren dapet tugas baru untuk jadi sound designer, sekarang awa coba membahas dulu 2 software sound editor yang konon katanya paling mantab!! Yaitu Reason 4 dan Fruity Loop studio(FLS).</p>
<p><span id="more-317"></span>Sebenernya, sangat kurang tepat kalo 2 software tadi hanya disebut sebagai sound editor. Reason 4 dan FLS lebih tepat disebut sebagai virtual studio. Jadi dengan software ini Kita ga cuma bisa mengubah sound yang sudah ada, tapi juga bisa membuat sound baru. Bahkan sound2 tersebut bisa aja kita bikin jadi sebuah lagu. Sebenernya software2 ini awalnya berfungsi sebagai sound sketch aja. Jadi misalnya seorang musisi tiba2 lagi dapet inspirasi untuk lagunya, misalnya dia udah kebayang kira2 gmana beat nya, berapa temponya, gmana rhythm nya, gmana progresi chordnya, dia bisa langsung bikin sketsanya pake software ini. Soalnya kan inspirasi bisa dateng di mana aja. Kalo misalnya dia lagi di jalan gitu kan ga mungkin langsung ngajak temen2nya untuk rekaman. Trus kalo cuma diinget2 aja kan ga mungkin juga, ntar malah bisa ilang, lupa. Makanya dibikin sketsanya dulu.</p>
<p>Salah satu contoh laguyang dibikin dengan softwate FLS ini adalah lagu &#8220;Online&#8221; dari Saykoji. Ya, musik di lagu ini 10o% dibuat pake FLS. FLS memang banyak dipakai oleh musisi Rap dan RnB, karena memang di FLS ini banyak tersedia sample2 beat dan synth, jadi ya cocok banget untuk tipe musik kyk gitu. keunggulan dari FLS ini adalah banyaknya plug in  dan sample2 suara. Saple yang tersedia mulai dari suara alat2 musik, atau juga sound2 efek yang aneh2 kayak suara halilintar, helikopter,malah sampe suara binatang.</p>
<p>Sedangkan untuk REason 4, software ini lebih diutamakan untuk mengolah suara yang diinputkan. Misalnya aja, Kita masukin suara gitar(lewat sound card). Nah, dari suara yang masuk tadi itu kita tambahin efek2. Reason 4 ini juga bekerja sama dengan produsen efek gitar ternama yaitu Line 6. Jadi dengan efek buatan Line 6, misalnya POD X3 Live, kita bisa langsung hubungkan ke komputer dan ke software ini. Untuk mixing berbagai jenis alat musik yang diinput langsung, Reason 4 lebih powerful.Dan setelah dicari-cari, plug in dan sample untuk Reason 4 emang ga banyak, soalnya dia emang lebih mengandalkan inputan user, tapi tutorialnya banyak banget dan ada dalam bentuk video.</p>
<p>Untuk sekarang awa baru dapet FLS, itupun juga FLS 8(sekarang udah FLS 9), Dan untuk reason 4 belum dapet.</p>
<p>Sekian dulu, terima kasih <img src='http://blog.nightspade.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>(maaf ga bisa upload sound dan gambar, internet kosan macam sampah nih)</p>
<p>Oia!! Damas belum ngasi awa oleh2 dari Jepang!! Potong gaji nih bulan depan <img src='http://blog.nightspade.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nightspade.com/2009/12/09/iseng-iseng-dengan-sound/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash Motion Path sebagai alternatif Motion Tween klasik</title>
		<link>http://blog.nightspade.com/2009/12/04/flash-motion-path-sebagai-alternatif-motion-tween-klasik/</link>
		<comments>http://blog.nightspade.com/2009/12/04/flash-motion-path-sebagai-alternatif-motion-tween-klasik/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 05:02:22 +0000</pubDate>
		<dc:creator>Evan Gozali</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[cs4]]></category>
		<category><![CDATA[guide layer]]></category>
		<category><![CDATA[motion]]></category>
		<category><![CDATA[motion path]]></category>
		<category><![CDATA[tween]]></category>

		<guid isPermaLink="false">http://blog.nightspade.com/?p=302</guid>
		<description><![CDATA[Pada kesempatan ini saya ingin berbagi tentang Motion Path, fitur yang cukup baru pada Flash CS4. Motion path merupakan fitur untuk tweening sama seperti Motion Tween pada Flash versi sebelumnya, tapi penggunaannya sedikit berbeda. Supaya lebih mudah melihat penggunaannya, mari kita mencoba membuat motion path langkah demi langkah. Buka file Flash baru, lalu buat sebuah [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify">Pada kesempatan ini saya ingin berbagi tentang Motion Path, fitur yang cukup baru pada Flash CS4. Motion path merupakan fitur untuk tweening sama seperti Motion Tween pada Flash versi sebelumnya, tapi penggunaannya sedikit berbeda.</p>
<p style="text-align: justify">Supaya lebih mudah melihat penggunaannya, mari kita mencoba membuat motion path langkah demi langkah.</p>
<p style="text-align: justify">Buka file Flash baru, lalu buat sebuah symbol sederhana. Pada timeline tambahkan frame sampai frame 15.</p>
<p style="text-align: justify"><img class="alignnone size-full wp-image-303" src="http://blog.nightspade.com/wp-content/uploads/2009/12/screen1.png" alt="screen1" width="420" height="266" /><span id="more-302"></span></p>
<p style="text-align: justify">Klik kanan pada frame, lalu klik pilihan &#8220;Create Motion Tween&#8221;. Sebagai catatan, pilihan &#8220;Create Classic Tween&#8221; akan membuat motion tween klasik seperti pada Flash versi sebelumnya.</p>
<p style="text-align: justify"><img class="alignnone size-medium wp-image-304" src="http://blog.nightspade.com/wp-content/uploads/2009/12/screen2-300x154.png" alt="screen2" width="435" height="222" /></p>
<p style="text-align: justify">Berikutnya klik timeline pada frame ke-15 kemudian pindahkan symbol ke sebelah kanan stage, nanti akan terbentuk sebuah garis yang menghubungkan symbol di frame 1 dengan symbol di frame 15.</p>
<p style="text-align: justify"><img class="alignnone size-medium wp-image-305" src="http://blog.nightspade.com/wp-content/uploads/2009/12/screen3-300x165.png" alt="screen3" width="431" height="237" /></p>
<p style="text-align: justify">Selesai sudah sebuah motion path. Kelebihan dari motion path dibanding motion tween adalah kemudahan membuat motion guide. Pada motion tween klasik, jika kita ingin membuat symbol bergerak mengikuti jalur tertentu, kita perlu menggambar jalur yang diinginkan pada sebuah guide layer. Sedangkan dengan motion path kita tinggal mengatur bentuk dari garis penghubung untuk membuat jalur yang akan ditempuh symbol.</p>
<p style="text-align: justify"><img class="alignnone size-medium wp-image-306" src="http://blog.nightspade.com/wp-content/uploads/2009/12/screen4-300x187.png" alt="screen4" width="428" height="266" /></p>
<p style="text-align: justify">Satu lagi fitur tambahan dari motion path adalah adanya Motion Editor. Jika diperhatikan, pada sebelah kanan tab &#8220;Timeline&#8221; ada tab &#8220;Motion Editor&#8221;. Coba buka tab tersebut dan kita akan disediakan banyak pilihan untuk mengatur efek dari motion path yang kita buat, seperti easing dan sebagainya.</p>
<p style="text-align: justify"><img class="alignnone size-medium wp-image-307" src="http://blog.nightspade.com/wp-content/uploads/2009/12/screen5-300x253.png" alt="screen5" width="433" height="365" /></p>
<p style="text-align: justify">Sebelum menutup postingan ini, ada satu lagi kelebihan motion path yang perlu saya sebutkan. Bagi AS3 coder, fitur ini cukup membahagiakan karena motion path yang kita buat di file .fla dapat diexport dan dipanggil melalui kode AS3, dan diapply terhadap movie clip apapun sesuka kita. Bagaimana caranya? Tunggu postingan selanjutnya <img src='http://blog.nightspade.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nightspade.com/2009/12/04/flash-motion-path-sebagai-alternatif-motion-tween-klasik/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GMap in Flex – Multi Infowindow Problem</title>
		<link>http://blog.nightspade.com/2009/11/30/gmap-in-flex-multi-infowindow-problem/</link>
		<comments>http://blog.nightspade.com/2009/11/30/gmap-in-flex-multi-infowindow-problem/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 16:55:28 +0000</pubDate>
		<dc:creator>garibaldy w mukti</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[event listener]]></category>
		<category><![CDATA[google map]]></category>
		<category><![CDATA[infowindow]]></category>
		<category><![CDATA[marker]]></category>

		<guid isPermaLink="false">http://blog.nightspade.com/?p=288</guid>
		<description><![CDATA[Yohoho&#8230; Kawan-kawin sekalian, Selama awa ngerjain MarketMap, ternyata awa menemukan sebuah masalah. Yaitu bagaimana caranya membuat setiap marker (spot) yang ada dalam google map pada flex menampilkan info window saat marker tersebut di-hover. Nah, saat membuat info window tersebut, awalnya awa membuat iterasi sederhana untuk setiap marker untuk menampilkan data. Sample source code-nya : 1 [...]]]></description>
			<content:encoded><![CDATA[<p>Yohoho&#8230;</p>
<p>Kawan-kawin sekalian,</p>
<p>Selama awa ngerjain MarketMap, ternyata awa menemukan sebuah masalah. Yaitu bagaimana caranya membuat setiap marker (spot) yang ada dalam google map pada flex menampilkan info window saat marker tersebut di-hover.<span id="more-288"></span></p>
<p>Nah, saat membuat info window tersebut, awalnya awa membuat iterasi sederhana untuk setiap marker untuk menampilkan data. Sample source code-nya :</p>

<div class="wp_syntax"><table><tr><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
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">var tempData:Object;&lt;/code&gt;
var listData:ArrayCollection;
var tempMarker:Marker;
&nbsp;
public function setMarker():void
{
     for (var i:int = 0; i &amp;lt; listData.length; i++)
    {
&nbsp;
      tempData = listData.getItemAt(i);
      tempMarker.latlng = new Latlng(parseFloat(tempData.lat),parseFloat(tempData.lng));
      tempMarker.addEventListener(MapMouseEvent.ROLL_OVER,
&nbsp;
      function(event:Event):void
      {
        tempMarker.openInfoWindow(new InfoWindowOptions(
        {
          title: tempData.title, content: &quot;Data = &quot; + tempData.data
        }));
       });
      map.addOverlay(tempMarker);
}
}</pre></td></tr></table></div>

<p>Source diatas akan mengakibatkan untuk setiap marker yang di hover, maka akan muncul sebuah info window beserta data didalamnya. Namun semua info window tersebut akan muncul pada tempat yang sama dan data yang sama, yaitu pada posisi marker yang terakhir (sesuai dengan panjang isi listData) dengan data yang terakhir pula. Hal ini adalah akibat dari fungsi addEventListener tersebut akan ter-overwrite terus menerus hingga data marker terakhir.</p>
<p>Solusi dari masalah ini adalah dengan membuat sebuah kelas turunan Marker baru yang memiliki properti dengan tipe InfoWindow. Setiap kali objek marker tersebut dibuat, kita perlu memasukkan informasi untuk info window-nya. Contoh source code :</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code"><pre class="language" style="font-family:monospace;">&nbsp;
// Kelas turunan Marker //
public class SuperMarker extends Marker
{
    private var infoWindow:InfoWindowOptions;
    public function SuperMarker(arg0:Latlng, arg1:MarkerOptions, data1:String, data2:String)
    {
       super(arg0,arg1);
       infoWindow = new InfoWindowOptions( {title: data1,content: &quot;Data = &quot; + data2
     });
&nbsp;
     addEventListener(MapMouseEvent.ROLL_OVER,function(event:Event):void
        {
          openInfoWindow(infoWindow);
        }
      );
  }
}</pre></td></tr></table></div>

<p>Dengan begini, source code pada aplikasi tidak perlu lagi ada penambahan event listener, cukup mengganti tipe variabel tempMarker menjadi SuperMarker.</p>
<p>Voila! Semoga bermanfaat.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nightspade.com/2009/11/30/gmap-in-flex-multi-infowindow-problem/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Replikasi database MySQL</title>
		<link>http://blog.nightspade.com/2009/11/30/replikasi-database-mysql/</link>
		<comments>http://blog.nightspade.com/2009/11/30/replikasi-database-mysql/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 07:37:30 +0000</pubDate>
		<dc:creator>Muhammad Fiqri Muthohar</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[replikasi]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://blog.nightspade.com/?p=279</guid>
		<description><![CDATA[Bismillah, Setelah sebulan tidak menulis artikel blog, kali ini saya akan mencoba untuk menulis tentang replikasi database  MySQL. Mengapa perlu adanya replikasi database ? Sebuah aplikasi yang menggunakan database tentu sangat menggantungkan datanya pada database yang digunakan, jika data ada yang salah pada database tentu hal itu akan mengakibatkan data pada aplikasi akan turut salah. [...]]]></description>
			<content:encoded><![CDATA[<p>Bismillah,</p>
<p>Setelah sebulan tidak menulis artikel blog, kali ini saya akan mencoba untuk menulis tentang replikasi database  MySQL.</p>
<p><span id="more-279"></span></p>
<p><strong>Mengapa perlu adanya replikasi database ?</strong></p>
<p>Sebuah aplikasi yang menggunakan database tentu sangat menggantungkan datanya pada database yang digunakan, jika data ada yang salah pada database tentu hal itu akan mengakibatkan data pada aplikasi akan turut salah. Selain itu,jika mesin server database kita memiliki masalah maka aplikasi tidak akan dapat berjalan karena database yang berada di server tersebut tidak dapat diakses oleh aplikasi. Untuk menanggulangi masalah tersebut maka data perlu direplikasi sebagai back-up jika server database utama gagal untuk melayani aplikasi dan dengan mudah dapat segera dialihkan ke database backup.</p>
<p><strong>Bagaimana melakukan backup database?</strong></p>
<p>Backup database MySQL dapat dilakukan dengan melakukan dump database ke sebuah file atau dengan cara lain yaitu dengan menggunakan fitur replikasi yang telah ada di MySQL sendiri. Untuk backup database dengan melakukan dump database ke sebuah file bisa dilakukan secara manual maupun otomatis secara terjadwal menggunakan <em>cronjob</em> pada sistem operasi *NIX dengan membuat script. Sedangkan dengan menggunakan fitur replikasi yang telah ada di MySQL data otomatis akan tereplikasi di server slave dari server database tersebut.</p>
<p>Secara garis besar replikasi yang dilakukan oleh MySQL adalah sebagai berikut:</p>
<ol>
<li>master mencatat perubahan data yang terjadi pada sebuha file binary log. (file tersebut disebut juga <em>binary log event</em>)</li>
<li>slave kemudian menyalin <em>binary log event</em> milik master ke relay log miliknya.</li>
<li>slave kemudian menjalankan kembali event-event yang ada pada relay log dan melakukan perubahan data yang dimilikinya.</li>
</ol>
<p>3 langkah tersebut merupakan gambaran garis besar bagaimana replikasi MySQL dijalankan. Pada kenyataannya ketiga langkah tersebut memiliki proses yang cukup kompleks di dalamnya.</p>
<p>Untuk konfigurasi replikasi database MySQL insyaAllah akan dibahas pada postingan blog berikutnya.</p>
<p>Sekian, terima kasih.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nightspade.com/2009/11/30/replikasi-database-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Run/Debug Swf di Flash Player Tanpa Membuka Browser Pada Flex Builder 3</title>
		<link>http://blog.nightspade.com/2009/11/29/rundebug-swf-di-flash-player-tanpa-membuka-browser-pada-flex-builder-3/</link>
		<comments>http://blog.nightspade.com/2009/11/29/rundebug-swf-di-flash-player-tanpa-membuka-browser-pada-flex-builder-3/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 12:14:06 +0000</pubDate>
		<dc:creator>Inas Luthfi</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[Flash Player]]></category>
		<category><![CDATA[Run]]></category>

		<guid isPermaLink="false">http://blog.nightspade.com/?p=266</guid>
		<description><![CDATA[Pernah tidak ketika kita membuat sebuah project pada Flex Builder 3 (tahun depan namanya berubah menjadi Flash Builder 4) kita diharuskan menunggu jendela browser untuk terbuka terlebih dahulu. Apabila browsernya terbuka cepat tentunya tidak masalah, namun kalau browser yang kita buka itu adalah Firefox dengan bejibun add-onnya, terkadang kita jadi bete untuk menunggunya. Memang dengan [...]]]></description>
			<content:encoded><![CDATA[<p>Pernah tidak ketika kita membuat sebuah project pada Flex Builder 3 (tahun depan namanya berubah menjadi Flash Builder 4) kita diharuskan menunggu jendela browser untuk terbuka terlebih dahulu. Apabila browsernya terbuka cepat tentunya tidak masalah, namun kalau browser yang kita buka itu adalah Firefox dengan bejibun add-onnya, terkadang kita jadi bete untuk menunggunya. Memang dengan metode run/debug melalui browser kita akan langsung tahu bagaimana aplikasi flash kita dijalankan di browser, namun bagaimana misalnya kita cuma tertarik pada file swf ketika dijalankan di flash player saja (misalnya membuat CD interaktif). Coba kalau pas publish swf langsung dibukakan Flash Player seperti pada Flash CS.<span id="more-266"></span></p>
<p>Ternyata dengan settingan sederhana pada Flex Builder, hal tersebut dapat direalisasikan. Mari kita ikut langkah-langkahnya:</p>
<p>1. Membuat sebuah project web application pada Flex builder 3</p>
<div id="attachment_270" class="wp-caption alignnone" style="width: 546px"><img class="size-full wp-image-270 " src="http://blog.nightspade.com/wp-content/uploads/2009/11/createnew1.png" alt="Create new flex project" width="536" height="482" /><p class="wp-caption-text">Create new flex project</p></div>
<p>2. Tes project, akan muncul sebuah browser baru yang menampikan file swf kita</p>
<div id="attachment_271" class="wp-caption alignnone" style="width: 546px"><img class="size-full wp-image-271 " src="http://blog.nightspade.com/wp-content/uploads/2009/11/runbrowser.png" alt="Run In a Browser" width="536" height="385" /><p class="wp-caption-text">Run In a Browser</p></div>
<p>3. Agar ketika run/debug kita tidak usah membuka browser baru, cukup dijalankan di flash playernya saja: rubah settingan project (klik kanan project pilih Properties) &gt; pilih menu &#8220;Flex Compiler&#8221; &gt; non-aktifkan opsi &#8220;Generate HTML wrapper file&#8221;. Selanjutnya klik ok &#8211; kalau ada warning abaikan saja dengan klik ok</p>
<div id="attachment_272" class="wp-caption alignnone" style="width: 508px"><img class="size-full wp-image-272 " src="http://blog.nightspade.com/wp-content/uploads/2009/11/setting.png" alt="Project Setting" width="498" height="473" /><p class="wp-caption-text">Project Setting</p></div>
<div id="attachment_273" class="wp-caption alignnone" style="width: 527px"><img class="size-full wp-image-273" src="http://blog.nightspade.com/wp-content/uploads/2009/11/warning.png" alt="warning" width="517" height="148" /><p class="wp-caption-text">warning</p></div>
<p>4. Clean project dengan memilih Project &gt; Clean pada menubar</p>
<p>5. Jalankan project sekarang maka anda tidak akan dibukakan browser lagi untuk menjalankan swf namun langsung dengan flash player</p>
<div id="attachment_274" class="wp-caption alignnone" style="width: 688px"><img class="size-full wp-image-274" src="http://blog.nightspade.com/wp-content/uploads/2009/11/runflashplayer.png" alt="Run on Flash Player" width="678" height="577" /><p class="wp-caption-text">Run on Flash Player</p></div>
<p>note: untuk melakukan debug dengan lancar pastikan file swf anda secara <em>default</em> dibuka dengan menggunakan FlashPlayer versi debug</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nightspade.com/2009/11/29/rundebug-swf-di-flash-player-tanpa-membuka-browser-pada-flex-builder-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>photoshop digital painting</title>
		<link>http://blog.nightspade.com/2009/11/27/photoshop-digital-painting/</link>
		<comments>http://blog.nightspade.com/2009/11/27/photoshop-digital-painting/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 11:28:20 +0000</pubDate>
		<dc:creator>Priskila Irene</dc:creator>
				<category><![CDATA[Art & Design]]></category>
		<category><![CDATA[Featured]]></category>

		<guid isPermaLink="false">http://blog.nightspade.com/?p=255</guid>
		<description><![CDATA[pada dasarnya mempersiapkan sketsa, memberi warna dasar, shading dan lighting. tips: untuk latian dapat men-trace foto artis idola ato yang wajahnya ingin ditiru.. gw sendiri pake foto artis untuk mendapatkan proporsi wajah yang diinginkan, pada akhirnya bentuk bibir, hidung, dan mata bahkan rahang berubah sesuai keinginan gw waktu itu (pengaruh shading dan lighting yang diaplikasikan [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-277" title="step-by-step-rion-" src="http://blog.nightspade.com/wp-content/uploads/2009/11/step-by-step-rion-edited.jpg" alt="step-by-step-rion-" width="620" height="740" /></p>
<p><span id="more-255"></span>pada dasarnya mempersiapkan sketsa, memberi warna dasar, shading dan lighting.</p>
<p>tips: untuk latian dapat men-trace foto artis idola ato yang wajahnya ingin ditiru..</p>
<p>gw sendiri pake foto artis untuk mendapatkan proporsi wajah yang diinginkan, pada akhirnya bentuk bibir, hidung, dan mata bahkan rahang berubah sesuai keinginan gw waktu itu (pengaruh shading dan lighting yang diaplikasikan jg)</p>
<p>menggunakan brush yang dicustom pada opacity dan flow-nya</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nightspade.com/2009/11/27/photoshop-digital-painting/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>

