<?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>Hjælp mig nu &#187; undervisning</title>
	<atom:link href="http://blog.hjaelpmignu.dk/category/undervisning/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hjaelpmignu.dk</link>
	<description>Hjælp til Adobes programmer</description>
	<lastBuildDate>Fri, 13 Jan 2012 11:28:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Mapping coordinates from one range to another in ActionScript 3.0</title>
		<link>http://blog.hjaelpmignu.dk/2011/11/mapping-coordinates-from-one-range-to-another-in-actionscript-3-0/</link>
		<comments>http://blog.hjaelpmignu.dk/2011/11/mapping-coordinates-from-one-range-to-another-in-actionscript-3-0/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 11:51:57 +0000</pubDate>
		<dc:creator>ockley</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Tips og tricks]]></category>
		<category><![CDATA[Tutorial og artikler]]></category>
		<category><![CDATA[undervisning]]></category>
		<category><![CDATA[www.hjaelpmignu.dk]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[mapping]]></category>
		<category><![CDATA[processing]]></category>

		<guid isPermaLink="false">http://blog.hjaelpmignu.dk/?p=389</guid>
		<description><![CDATA[I am very fond of Processing, and the way it easily makes it possible to experiment with design ideas. One of the powerful features are it&#8217;s map() function, that takes a value and remaps it from one range to another. I haven&#8217;t seen a similar function in the ActionScript 3.0 reference, so &#8230;<p><a href="http://blog.hjaelpmignu.dk/2011/11/mapping-coordinates-from-one-range-to-another-in-actionscript-3-0/" class="more-link"><span>Continue Reading &#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>I am very fond of Processing, and the way it easily makes it possible to experiment with design ideas. One of the powerful features are it&#8217;s<a title="map function" href="http://processing.org/reference/map_.html"> map()</a> function, that takes a value and remaps it from one range to another. I haven&#8217;t seen a similar function in the ActionScript 3.0 reference, so I decided to make one to my own utils-library, because it is something the can come in handy in many situations. First I looked at using the Point() class, and interpolation to describe the ratios, but actually found it easier to just do it with regular math.</p>
<p>I haven&#8217;t looked at performance yet, and there is possibly a lot of ways to optimize this code &#8211; this article can be a start for further fine tuning. The helper function looks like this:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #339966; font-weight: bold;">function</span> <span style="color: #004993;">map</span><span style="color: #000000;">&#40;</span>val<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">,</span> inMin<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">,</span> inMax<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">,</span> outMin<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">,</span> outMax<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">,</span> decimals<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">uint</span>=<span style="color: #000000; font-weight:bold;">0</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span>
<span style="color: #000000;">&#123;</span>
<span style="color: #6699cc; font-weight: bold;">var</span> returnVal<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #009900; font-style: italic;">// Sets the total range for both in and out</span>
<span style="color: #6699cc; font-weight: bold;">var</span> inRange<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span> = inMax <span style="color: #000066; font-weight: bold;">-</span> inMin<span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #6699cc; font-weight: bold;">var</span> outRange<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span> = outMax <span style="color: #000066; font-weight: bold;">-</span> outMin<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #009900; font-style: italic;">//calculates the ratio for the value in relation to the in range</span>
<span style="color: #6699cc; font-weight: bold;">var</span> ratio<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span> = <span style="color: #000000;">&#40;</span>val <span style="color: #000066; font-weight: bold;">-</span> inMin<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">/</span>inRange<span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #009900; font-style: italic;">//makes sure that the value is within range</span>
val = <span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">max</span><span style="color: #000000;">&#40;</span>inMin<span style="color: #000066; font-weight: bold;">,</span> val<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
val = <span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">min</span><span style="color: #000000;">&#40;</span>inMax<span style="color: #000066; font-weight: bold;">,</span> val<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #009900; font-style: italic;">//Finds the same ratio in the out range and shift it into place</span>
returnVal = <span style="color: #000000;">&#40;</span>outRange <span style="color: #000066; font-weight: bold;">*</span> ratio<span style="color: #000000;">&#41;</span> <span style="color: #000066; font-weight: bold;">+</span> outMin<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #009900; font-style: italic;">//rounding of the decimals</span>
<span style="color: #6699cc; font-weight: bold;">var</span> factor<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">int</span> = <span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">pow</span><span style="color: #000000;">&#40;</span><span style="color: #000000; font-weight:bold;">10</span><span style="color: #000066; font-weight: bold;">,</span>decimals<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
returnVal = <span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">round</span><span style="color: #000000;">&#40;</span>returnVal<span style="color: #000066; font-weight: bold;">*</span>factor<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">/</span>factor<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #0033ff; font-weight: bold;">return</span> returnVal<span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>The function takes the the following arguments:</p>
<ul>
<li>val: the number to be remapped</li>
<li>inMin and inMax: The original range, in which the value is measures in relation to.</li>
<li>outMin and outMax: The destination range, that the value will be re-mapped to</li>
<li>decimals: sets the precision in decimals (optional)</li>
</ul>
<div>First it calculates the ranges with</div>
<div>
<pre>var inRange:Number = inMax - inMin;
var outRange:Number = outMax - outMin;</pre>
</div>
<div>These variables are defining the total range for both the incoming number, and the range of number is eventually will be placed within.</div>
<div>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;">val = <span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">max</span><span style="color: #000000;">&#40;</span>inMin<span style="color: #000066; font-weight: bold;">,</span> val<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
val = <span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">min</span><span style="color: #000000;">&#40;</span>inMax<span style="color: #000066; font-weight: bold;">,</span> val<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

</div>
<div>In this function I have decided to make sure, that the value is within the boundaries of the inRange. If i took the value 4, and sets the range of number to be within 10 and 100, I would get some unexpected results. You could treat this differently, or even make it possible by omitting these lines.</div>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #6699cc; font-weight: bold;">var</span> ratio<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span> = <span style="color: #000000;">&#40;</span>val <span style="color: #000066; font-weight: bold;">-</span> inMin<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">/</span>inRange<span style="color: #000066; font-weight: bold;">;</span></pre></div></div>

<div>ratio holds a number between 0 and 1 that defines where in the original range it is located. The closer to zero it gets, the lower the value &#8211; closer to one goes towards inMax.</div>
<pre>returnVal = (outRange * ratio) + outMin;</pre>
<div>Then the number is multiplied to the outRange to find the same relative point in the target range, and finally shifted into place by adding the outMin value. Negative values are treated fine in these ranges &#8211; when you add -200 to something, it is actually subtracted from the number.</div>
<div>
<pre>var factor:int = Math.pow(10,decimals);
returnVal = Math.round(returnVal*factor)/factor;</pre>
<div>The last part of the function is meant to round of the values. For performance, this could easily be removed, but it may be useful in some cases to have odd long numbers rounded and presented with only a few digits precition. First, the variable factor holds the value to be used in the rounding proces. For 1 digit it should be &#8220;10&#8243;, 2 digits is &#8220;100&#8243;, 3 is &#8220;1000&#8243; and so forth. That value is used in the line below, where it first multiplies the final value by the factor and then rounds it to an integer. Then it divides with the factor again. It goes something like this:</div>
</div>
<div>
<ol>
<li>factor is 1000 (3 digits)</li>
<li>value is <strong>134.744637</strong></li>
<li>Multiplication results in<strong> 134744.637</strong></li>
<li>Rounding returns <strong>134745</strong></li>
<li>divided by 1000 gives the result <strong>134.745</strong></li>
</ol>
<div>Finally the value is returned as a Number.</div>
</div>
<h4>Optimization</h4>
<div>There are a lot of code shortening, that can produce a speed improvement. You could also work with int or uint exclusively to gain some performance i suppose. Finally, you can remove the decimals and the lines that check if the number is in range. I have left the to show what functionality that could come in handy.</div>
<h4>An example</h4>
<div>As a practical example of the map() function you can  copy the following code into a Flash document. Here the map() fuction is directly inside the main code, but you could start building your own utils-library with the helper functions as public static function for easier access.</div>
<div>The code draws two squares with different sizes. When the mouse moves over the small square, it draw lines in the larger square, while maintaining the relative coordinates inside the squares.</div>
<div>

<div class="wp_syntax"><div class="code"><pre class="actionscript3" style="font-family:monospace;"><span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.display</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">Sprite</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.events</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">MouseEvent</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #009900; font-style: italic;">//make the small square and color it dark grey</span>
<span style="color: #6699cc; font-weight: bold;">var</span> inArea<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Sprite</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Sprite</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
inArea<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">graphics</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">beginFill</span><span style="color: #000000;">&#40;</span>0x333333<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
inArea<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">graphics</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">drawRect</span><span style="color: #000000;">&#40;</span><span style="color: #000000; font-weight:bold;">0</span><span style="color: #000066; font-weight: bold;">,</span><span style="color: #000000; font-weight:bold;">0</span><span style="color: #000066; font-weight: bold;">,</span><span style="color: #000000; font-weight:bold;">100</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #000000; font-weight:bold;">100</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
inArea<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">graphics</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">endFill</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>inArea<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #009900; font-style: italic;">//make the large square and color it black</span>
<span style="color: #6699cc; font-weight: bold;">var</span> outArea<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Sprite</span> = <span style="color: #0033ff; font-weight: bold;">new</span> <span style="color: #004993;">Sprite</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
outArea<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">graphics</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">beginFill</span><span style="color: #000000;">&#40;</span>0x000000<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
outArea<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">graphics</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">drawRect</span><span style="color: #000000;">&#40;</span><span style="color: #000000; font-weight:bold;">0</span><span style="color: #000066; font-weight: bold;">,</span><span style="color: #000000; font-weight:bold;">0</span><span style="color: #000066; font-weight: bold;">,</span><span style="color: #000000; font-weight:bold;">400</span><span style="color: #000066; font-weight: bold;">,</span><span style="color: #000000; font-weight:bold;">400</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
outArea<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">graphics</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">endFill</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
outArea<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">graphics</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">lineStyle</span><span style="color: #000000;">&#40;</span><span style="color: #000000; font-weight:bold;">1</span><span style="color: #000066; font-weight: bold;">,</span> 0xFFFFFF<span style="color: #000066; font-weight: bold;">,</span> <span style="color: #000000; font-weight:bold;">0.3</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span>outArea<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
outArea<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">x</span> = inArea<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">width</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
<span style="color: #009900; font-style: italic;">//adds a listener for the small square, that listens for mouse movement</span>
inArea<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">MouseEvent</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">MOUSE_MOVE</span><span style="color: #000066; font-weight: bold;">,</span> updateDrawing<span style="color: #000066; font-weight: bold;">,</span> <span style="color: #0033ff; font-weight: bold;">false</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #000000; font-weight:bold;">0</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #0033ff; font-weight: bold;">true</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #339966; font-weight: bold;">function</span> updateDrawing<span style="color: #000000;">&#40;</span>event<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">MouseEvent</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #009900; font-style: italic;">//Map the local coordinates from the mouse movement to the size of the large square</span>
	<span style="color: #6699cc; font-weight: bold;">var</span> targetX<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">int</span> = <span style="color: #004993;">map</span><span style="color: #000000;">&#40;</span>event<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">localX</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #000000; font-weight:bold;">0</span><span style="color: #000066; font-weight: bold;">,</span> event<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">target</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">width</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #000000; font-weight:bold;">0</span><span style="color: #000066; font-weight: bold;">,</span> outArea<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">width</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #6699cc; font-weight: bold;">var</span> targetY<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">int</span> = <span style="color: #004993;">map</span><span style="color: #000000;">&#40;</span>event<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">localY</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #000000; font-weight:bold;">0</span><span style="color: #000066; font-weight: bold;">,</span> event<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">target</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">height</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #000000; font-weight:bold;">0</span><span style="color: #000066; font-weight: bold;">,</span> outArea<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">height</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
	<span style="color: #009900; font-style: italic;">//Draws the line in the large square.</span>
	outArea<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">graphics</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">lineTo</span><span style="color: #000000;">&#40;</span>targetX<span style="color: #000066; font-weight: bold;">,</span> targetY<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000000;">&#125;</span>
&nbsp;
<span style="color: #009900; font-style: italic;">//Helper function</span>
<span style="color: #339966; font-weight: bold;">function</span> <span style="color: #004993;">map</span><span style="color: #000000;">&#40;</span>val<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">,</span> inMin<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">,</span> inMax<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">,</span> outMin<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">,</span> outMax<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">,</span> decimals<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">uint</span>=<span style="color: #000000; font-weight:bold;">0</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span>
<span style="color: #000000;">&#123;</span>
	<span style="color: #6699cc; font-weight: bold;">var</span> returnVal<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span><span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #009900; font-style: italic;">// Sets the total range for both in and out</span>
	<span style="color: #6699cc; font-weight: bold;">var</span> inRange<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span> = inMax <span style="color: #000066; font-weight: bold;">-</span> inMin<span style="color: #000066; font-weight: bold;">;</span>
	<span style="color: #6699cc; font-weight: bold;">var</span> outRange<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span> = outMax <span style="color: #000066; font-weight: bold;">-</span> outMin<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
	<span style="color: #009900; font-style: italic;">//makes sure that the value is within range</span>
	val = <span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">max</span><span style="color: #000000;">&#40;</span>inMin<span style="color: #000066; font-weight: bold;">,</span>val<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
	val = <span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">min</span><span style="color: #000000;">&#40;</span>inMax<span style="color: #000066; font-weight: bold;">,</span>val<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
	<span style="color: #009900; font-style: italic;">//calculates the ratio for the value in relation to the in range</span>
	<span style="color: #6699cc; font-weight: bold;">var</span> ratio<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">Number</span> = <span style="color: #000000;">&#40;</span>val <span style="color: #000066; font-weight: bold;">-</span> inMin<span style="color: #000000;">&#41;</span> <span style="color: #000066; font-weight: bold;">/</span> inRange<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
	<span style="color: #009900; font-style: italic;">//Finds the same ratio in the out range and shift it into place</span>
	returnVal = <span style="color: #000000;">&#40;</span>outRange <span style="color: #000066; font-weight: bold;">*</span> ratio<span style="color: #000000;">&#41;</span> <span style="color: #000066; font-weight: bold;">+</span> outMin<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
	<span style="color: #009900; font-style: italic;">//rounding of the decimals</span>
	<span style="color: #6699cc; font-weight: bold;">var</span> factor<span style="color: #000066; font-weight: bold;">:</span><span style="color: #004993;">int</span> = <span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">pow</span><span style="color: #000000;">&#40;</span><span style="color: #000000; font-weight:bold;">10</span><span style="color: #000066; font-weight: bold;">,</span>decimals<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span>
	returnVal = <span style="color: #004993;">Math</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">round</span><span style="color: #000000;">&#40;</span>returnVal<span style="color: #000066; font-weight: bold;">*</span>factor<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">/</span>factor<span style="color: #000066; font-weight: bold;">;</span>
&nbsp;
	<span style="color: #0033ff; font-weight: bold;">return</span> returnVal<span style="color: #000066; font-weight: bold;">;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.hjaelpmignu.dk/2011/11/mapping-coordinates-from-one-range-to-another-in-actionscript-3-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calling a function dynamically in ActionScript 3.0</title>
		<link>http://blog.hjaelpmignu.dk/2011/06/calling-a-function-dynamically-in-actionscript-3-0/</link>
		<comments>http://blog.hjaelpmignu.dk/2011/06/calling-a-function-dynamically-in-actionscript-3-0/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 16:26:57 +0000</pubDate>
		<dc:creator>ockley</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Adobe Flash Professional]]></category>
		<category><![CDATA[Tips og tricks]]></category>
		<category><![CDATA[Tutorial og artikler]]></category>
		<category><![CDATA[undervisning]]></category>
		<category><![CDATA[www.hjaelpmignu.dk]]></category>
		<category><![CDATA[array access operator]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[dynamic function]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://blog.hjaelpmignu.dk/?p=345</guid>
		<description><![CDATA[Have you ever wondered, how you could use a String to decide, which function to be called. You could go so far to let the user enter the function name in an input field and call a function by that name, if it exists. I have made a short article &#8230;<p><a href="http://blog.hjaelpmignu.dk/2011/06/calling-a-function-dynamically-in-actionscript-3-0/" class="more-link"><span>Continue Reading &#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>Have you ever wondered, how you could use a String to decide, which function to be called. You could go so far to let the user enter the function name in an input field and call a function by that name, if it exists.</p>
<p>I have made a short article with an example on how that is done in Flash and ActionScript 3.0. You can read the article at <a title="Article about dynamic function call" href="http://www.hjaelpmignu.dk/content/dynamic-call-functions">http://www.hjaelpmignu.dk/content/dynamic-call-functions</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hjaelpmignu.dk/2011/06/calling-a-function-dynamically-in-actionscript-3-0/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Adobe Creative Suite 5/5.5 &#8211; Printing guide</title>
		<link>http://blog.hjaelpmignu.dk/2011/06/adobe-creative-suite-55-5-printing-guide/</link>
		<comments>http://blog.hjaelpmignu.dk/2011/06/adobe-creative-suite-55-5-printing-guide/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 12:01:05 +0000</pubDate>
		<dc:creator>ockley</dc:creator>
				<category><![CDATA[Adobe Creative Suite]]></category>
		<category><![CDATA[Adobe Illustrator]]></category>
		<category><![CDATA[Adobe InDesign]]></category>
		<category><![CDATA[Adobe Photoshop]]></category>
		<category><![CDATA[CS5]]></category>
		<category><![CDATA[CS5.5]]></category>
		<category><![CDATA[Tutorial og artikler]]></category>
		<category><![CDATA[undervisning]]></category>
		<category><![CDATA[adobe printing guide]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[illustrator]]></category>
		<category><![CDATA[indesign]]></category>
		<category><![CDATA[jdf]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[photoshop]]></category>

		<guid isPermaLink="false">http://blog.hjaelpmignu.dk/?p=350</guid>
		<description><![CDATA[If you are using Adobe software to create design for print production or receive documents as a print provider, this guide is a must read for you. All relevant info on color handling, trapping, handling transparency and effects are there. Info on Job Definition Format (JDF) and how to print &#8230;<p><a href="http://blog.hjaelpmignu.dk/2011/06/adobe-creative-suite-55-5-printing-guide/" class="more-link"><span>Continue Reading &#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>If you are using Adobe software to create design for print production or receive documents as a print provider, <a title="Adobe Creative Suite 5/5.5 - printing guide" href="http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/products/creativesuite/design/pdfs/cs5-5-final-print-guide.pdf" target="_blank">this guide</a> is a must read for you. All relevant info on color handling, trapping, handling transparency and effects are there. Info on Job Definition Format (JDF) and how to print and edit PDF files is there. Best practise &#8211; what and how to expand objects in Illustrator are there. The Forensic Tools in the various software is explained.</p>
<p>All in all. 138 pages of action packed printing info available. Questions to the guide are welcomed <a title="www.hjaelpmignu.dk forum" href="http://www.hjaelpmignu.dk/forum">in the forums</a></p>
<p><a title="Adobe Creative Suite 5/5.5 Printing guide" href="http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/products/creativesuite/design/pdfs/cs5-5-final-print-guide.pdf" target="_blank">Link to guide</a></p>
<p>Happy reading</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hjaelpmignu.dk/2011/06/adobe-creative-suite-55-5-printing-guide/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Farvelvideo til dimittender fra Interaktivt Design på Mediehøjskole</title>
		<link>http://blog.hjaelpmignu.dk/2010/06/farvelvideo-til-dimittender-fra-interaktivt-design-pa-medieh%c3%b8jskole/</link>
		<comments>http://blog.hjaelpmignu.dk/2010/06/farvelvideo-til-dimittender-fra-interaktivt-design-pa-medieh%c3%b8jskole/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 10:02:30 +0000</pubDate>
		<dc:creator>ockley</dc:creator>
				<category><![CDATA[Mediehøjskolen]]></category>
		<category><![CDATA[undervisning]]></category>
		<category><![CDATA[www.hjaelpmignu.dk]]></category>
		<category><![CDATA[afsked]]></category>
		<category><![CDATA[dimittend]]></category>
		<category><![CDATA[farvel]]></category>
		<category><![CDATA[gode råd]]></category>
		<category><![CDATA[id07-10]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://blog.hjaelpmignu.dk/?p=233</guid>
		<description><![CDATA[Så foldede svingfjerene sig ud. Kære alle dimittender fra interaktivt design. Jeg vil gerne ønske jer al mulig held og lykke i fremtiden med alle de digitale eventyr end måtte møde. Jeg vil gerne takke jer for den tid vi har tilbragt sammen, og alle de minder og traditioner I &#8230;<p><a href="http://blog.hjaelpmignu.dk/2010/06/farvelvideo-til-dimittender-fra-interaktivt-design-pa-medieh%c3%b8jskole/" class="more-link"><span>Continue Reading &#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>Så foldede svingfjerene sig ud. Kære alle dimittender fra interaktivt design. Jeg vil gerne ønske jer al mulig held og lykke i fremtiden med alle de digitale eventyr end måtte møde. Jeg vil gerne takke jer for den tid vi har tilbragt sammen, og alle de minder og traditioner I har været med til at skabe for fremtidige årgange. Følgende indlæg er et par af mine betragtninger til den verden I skal ud i. Ting som i en vis udstrækning passer skævt ind i dagligdagens moduler på skolen. Til at starte med vil jeg lige smide den video op fra festen, så I kan se den igen, hvis I har lyst.<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="337" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://www.youtube.com/v/q1Jy_COc9p0&amp;color1=0xb1b1b1&amp;color2=0xd0d0d0&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="337" src="http://www.youtube.com/v/q1Jy_COc9p0&amp;color1=0xb1b1b1&amp;color2=0xd0d0d0&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" allowfullscreen="true" allowscriptaccess="always"></embed></object></p>
<h2>Farvel, betyder  at fare vel</h2>
<p>Når I nu har pustet ud og holdt en velfortjent sommerferie, går det langsomt men sikkert op for jer at der ikke er mere skolegang, og I rent faktisk er &#8220;udlært&#8221; og flyvefærdige. Mit farvel til jer er for at minde jer om at alle tre år har været begivenhedsrige og lærerige, for jer såvel som mig. Jeg smider lige et par sidste ord efter jer her på min blog, hvor I ikke umiddelbart kan svare igen <img src='http://blog.hjaelpmignu.dk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>De farvel I får herfra er ikke et ønske om ikke at se jer igen, men et håb om at det må gå jer godt på den fremtidige rejse. Vi lever dog i en verden, hvor det ikke sker automatisk. Nuvel, du kan blive hjulpet af en rig tante, eller en far der allerede er i branchen, men den kreative kraft, der blusser i jer, kan ikke vedligeholdes af held og klap på skulderen &#8211; så ender i med at stå og snakke om det store projekt I lavede for to år siden. Derfor, lige et par nedslagspunkter.</p>
<h3>Det tog tre år</h3>
<p>Selvom det sidste I har lært ofte har været det mest komplekse, er den viden og de muligheder bygget på et fundament af grundlæggende færdigheder. Hvor interessante de senere års projekter end har været, vil de første moduler kunne bruges som byggesten til andre fremtidige udforskninger &#8211; den viden må aldrig forstås som implicit. Viden om typografi, gestaltlove, formgivning, kommunikation osv. skal videreudvikles og udforskes som selvstændige projekter. Designgrudlaget ændrer sig konstant, som tektoniske plader, og hvis du ikke forholder dig opdateret til dem, vil dine løsninger ramme skævt få år ude i fremtiden, og i vil stå som en Kolos på lerfødder.</p>
<h3>Du kan lukke af for fremtiden, men du kan ikke lukke fremtiden ned</h3>
<p>Det er så fristende at sætte sig ind i en kasse, med det man nu engang kan. Du vil kunne bruge timer på at diskutere og retfærdiggøre, hvorfor du har ret, som nyudlært. Men hvis du lukker af for fremtiden, vil du ende som en dinosauer der ikke ved den er uddød. Du vil stå med en kuffert fuld af kuglepenne og skælde ud på folk, fordi de sender e-mail i stedet for breve. Om du vil det eller ej, så er der fuld fart på lokomotivet, og som interaktiv designer har du plads i den forreste vogn. Det er en sjov rejse, men det kan god være frustrerende at man ikke kan slappe af i længere tid af gangen. På linjen for interaktivt design på Mediehøjskolen, skal vi hele tiden korrigere og kan ikke med sikkerhed fortælle de nye studerende, hvordan deres tredje år forløber. Den korrektion har vi foretaget ind til nu &#8230; nu, hvor du er flyttet hjemmefra,  skal du selv købe toiletpapir <img src='http://blog.hjaelpmignu.dk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h3>Den nye viden kan ikke fås intravenøs</h3>
<p>Jeg vil ikke garantere at det ikke kommer til at ske, men som tingene er i den umiddelbare fremtid, er der ingen kloge ord på sprøjte. Du kan ikke sætte et &#8220;Joshua Davis plaster&#8221; på og få en fornemmelse af hvilke strømninger han rører frem i sin gryde. Kun med et øje der ser og et øre der hører, vil du tilegne dig færdighederne til at skabe. Kravene til interaktive designere er derudover noget skrappere, da jeres værktøjer er lidt mere komplekse end et penalhus. Mange af de ting I må sætte jer ind i, er eksperimenterende, nogle er ikke synlige, og en del af de tungeste er endda kun delelementer til en simpel løsning. Hvor den grundlæggende værktøjskasses præmis kun flyttes langsom, vil det der adskiller jer fra andre designere, være viden og forståelse for interaktion, som kun flygtigt er relevant, for derefter at blive generel og ende som forældet fordi ny opdagelser har gjort det irrelevant eller direkte forkert.</p>
<h3>Det digitale spejl, forvrænger &#8211; derfor behøver du ikke at vrænge ansigt</h3>
<p>Når man er interaktiv designer, er man nød til at simulere stoflighed. Der er ikke noget på Internettet der er ægte &#8230; ikke engang Internettet. Du lever af at designe oplevelser i et kunstigt rum, kun afbrudt af ormehuller med videokonference og IP-telefoni, som nærmeste kæde til den virkelige verden omkring. Intet er uforgængeligt &#8211; her er ingen pyramider eller Versailles slot. Billederne fra den virkelige verden er blevet lavet til nuller og et-taller og viser sig kun som vi forventer, fordi vores egne opsatte regler bliver overholdt. Vi ser kampagner der behandler virkeligheden til egen vinding og personer der sletter sig selv, eller manipulerer med data for at gengive en anden sandhed. Det store problem er at vi i større grad søger ind i en kunstig verden for at finde viden om, hvordan den virkelige verden er bygget op. Når I laver interaktive løsninger er i med til at vedligeholde den kunstige verden, og I skal, mere end mange andre, pleje forholdet mellem Internettet og mennesket. Med styrke kommer ansvar, og I skal altid være klar over den magt i har overfor uvidende bruger, der naivt tager det de ser for gode varer.</p>
<h3>I former en fremtid til en samtid</h3>
<p>I forhold til nettet, er verden kun i &#8220;fire dimensioner&#8221;. Superstrengsteoretikere bedes se bort fra denne uforskammede simplificering. Hver eneste nedslag på nettet, indeholder en dybde samtidig med den visuelle flade. Ud over dette, har den også en designet tidsfornemmelse og kronologi. På den ene side har den søgemaskinernes evige jagt på at cache indhold på større og større lagermedier, så vi kan finde ting fra en svunden, digital fortid, men også den indlejrede pulsfornemmelse i animationer, lyd og filmklip som selvstændige processer på en statisk flade. Når I designer noget, er det første gang det er på nettet. I smider endnu en &#8220;bold i spil&#8221; som ikke har været der før &#8211; ny adresse, ny grafik, måske nye principper. Det der er fremtid for nettet, er inde i jeres hoveder,og bliver først til samtid, når det har materialiseret sig. Da alle er afhængige af at søge indhold, inspiration og ny viden på nettet, er det vigtigt at dem der leverer nye oplevelser og viden, har en forståelse af at de er de første i kæden.</p>
<h3>Lad vær med at tage kvælertag på noget du er ved at give kunstigt åndedræt</h3>
<p>Når i designer og udvikler koncepter, så lad dem leve - hvis ikke i virkelige projekter, så i det mindste i en sandkasse hjemme hos jer selv. Du kan få en vane at tænke &#8220;Nej, ikke alligevel,&#8221; midt i processen. Det er gift for jeres pionerånd &#8211; hvis du laver brunkager, smider du ikke dejen væk, hvis formen standser noget ud der ikke helt ligner &#8211; i ovnen med den! Hvis ikke, så ender du med at acceptere halvfærdige og kuldsejlede projekter, og så er det velkommen til umulighedernes land!</p>
<h3>Det er først når du holder hovedet i vater, at du laver noget der virkelig batter!</h3>
<p>Tro på dig selv. Lad være med at tale ned til andre, eller dukke dig for selvfede i miljøet. Problemet med ikke at kigge lige ud er at du misser horisonten, og det er den du skal bruge til at orientere dig. Du lever af at være til, i forhold til omverden &#8211; en omverden der er gennemsyret af dit netværk. Hvis du, i din egen succes, glemmer at være i øjenhøjde med andre, knækker kæden. En kæde der i den professionelle del af netværket i forvejen kan være lidt tynd. Dem du møder på vej op, ser du igen på vej ned &#8230; det vil være så rart at lande blødt, når man tænker på hvor mange op og nedture man skal tage i et helt liv. Omvendt, må du aldrig lade dig kue af andres holdning til dine værker. Du må modtage kritik &#8230; du skal modtage kritik! Men der er rigeligt med folk, der har nemmere ved at kritisere udaf end indad. Jeg kan ikke direkte fortælle hvordan I kan kende forskel, men det har tit noget at gøre med lydniveauet &#8211; de rigtig rige, fortæller sjældent om deres penge.</p>
<h3>Mod det uendelige &#8230; univers!</h3>
<p>Når det så er sagt (det var nok), så har I den mest interessante fremtid foran jer. I kan levere og udbygge på eksisterende komponenter, eller I kan udforske og udvikle uopdyrket land. Med de muligheder og færdigheder I besidder, kan intet stoppe jer. Tænk både kommercielt og ikke kommercielt. Hvis man ikke forholder sig til pengene, er en del af de kommercielle projekter de kedeligste. Nye uafprøvede ideer finder sjældent indpas der. Det må dog ikke afholde jer fra at eksperimentere og lave &#8220;proof of concept&#8221; så I kan være med til at designe fremtidens interaktive design, i stedet for at vedligeholde andres opfundne regler.</p>
<p>Og med dette, må i fare vel. Kom tilbage og fortæl de næste studerende om jeres landvindinger, når I står og glimter.</p>
<p>/ockley</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hjaelpmignu.dk/2010/06/farvelvideo-til-dimittender-fra-interaktivt-design-pa-medieh%c3%b8jskole/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Transparens i filer fra Photoshop til brug på Internettet</title>
		<link>http://blog.hjaelpmignu.dk/2010/06/transparens-i-filer-fra-photoshop-til-brug-pa-internettet/</link>
		<comments>http://blog.hjaelpmignu.dk/2010/06/transparens-i-filer-fra-photoshop-til-brug-pa-internettet/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 11:16:18 +0000</pubDate>
		<dc:creator>ockley</dc:creator>
				<category><![CDATA[Adobe Photoshop]]></category>
		<category><![CDATA[CS4]]></category>
		<category><![CDATA[CS5]]></category>
		<category><![CDATA[Tutorial og artikler]]></category>
		<category><![CDATA[undervisning]]></category>
		<category><![CDATA[videotutorial]]></category>
		<category><![CDATA[www.hjaelpmignu.dk]]></category>
		<category><![CDATA[devices]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[transparens]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.hjaelpmignu.dk/?p=223</guid>
		<description><![CDATA[Jeg har uploadet en kort demonstration som svar til dette spørgsmål på www.hjaelpmignu.dk. Den gennemgår gennemsigtighed i PNG-filer og hvordan du forholder dig til farvetabellen (Color Table) i dialogen. Du kan se videoen på adressen http://www.hjaelpmignu.dk/node/211 Du kan læse mere om Save for Web and Devices i Adobe Creative Suite &#8230;<p><a href="http://blog.hjaelpmignu.dk/2010/06/transparens-i-filer-fra-photoshop-til-brug-pa-internettet/" class="more-link"><span>Continue Reading &#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>Jeg har uploadet en kort demonstration som svar til dette spørgsmål på www.hjaelpmignu.dk. Den gennemgår gennemsigtighed i PNG-filer og hvordan du forholder dig til farvetabellen (Color Table) i dialogen.</p>
<p>Du kan se videoen på adressen <a href="http://www.hjaelpmignu.dk/node/211">http://www.hjaelpmignu.dk/node/211</a></p>
<p>Du kan læse mere om <strong>Save for Web and Devices</strong> i Adobe Creative Suite 5 på adressen <a href="http://help.adobe.com/en_US/creativesuite/cs/using/WSEE78023B-9077-4276-9D82-B7ABD0F9AE32.html">http://help.adobe.com/en_US/creativesuite/cs/using/WSEE78023B-9077-4276-9D82-B7ABD0F9AE32.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hjaelpmignu.dk/2010/06/transparens-i-filer-fra-photoshop-til-brug-pa-internettet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Video tutorial om at sende data fra Flash til mail via PHP</title>
		<link>http://blog.hjaelpmignu.dk/2010/06/video-tutorial-om-at-sende-data-fra-flash-til-mail-via-php/</link>
		<comments>http://blog.hjaelpmignu.dk/2010/06/video-tutorial-om-at-sende-data-fra-flash-til-mail-via-php/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 13:56:55 +0000</pubDate>
		<dc:creator>ockley</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Adobe Flash Professional]]></category>
		<category><![CDATA[Tutorial og artikler]]></category>
		<category><![CDATA[undervisning]]></category>
		<category><![CDATA[www.hjaelpmignu.dk]]></category>
		<category><![CDATA[formular]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[videotutorial]]></category>

		<guid isPermaLink="false">http://blog.hjaelpmignu.dk/?p=218</guid>
		<description><![CDATA[Jeg har fået gang i gode gamle Camtasia og snedkereret en tutorial der viser, hvordan en række input felter, samlet i en formular, kan sendes fra en Flash-film, via et php-script og hen til din mail boks. Det er som svar på forum indlæget Contact Form Vejledningen tager dels udgangspunkt &#8230;<p><a href="http://blog.hjaelpmignu.dk/2010/06/video-tutorial-om-at-sende-data-fra-flash-til-mail-via-php/" class="more-link"><span>Continue Reading &#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>Jeg har fået gang i gode gamle <a title="Camtasia Studio" href="http://www.techsmith.com/camtasia.asp" target="_blank">Camtasia </a>og snedkereret en tutorial der viser, hvordan en række input felter, samlet i en formular, kan sendes fra en Flash-film, via et php-script og hen til din mail boks. Det er som svar på forum indlæget <a href="http://www.hjaelpmignu.dk/node/194">Contact Form</a></p>
<p>Vejledningen tager dels udgangspunkt i det link til en tutorial på Flashforum, der blev nævnt, og dels en gammel video tutorial af Lee Brimelow.</p>
<p><a href="http://www.hjaelpmignu.dk/node/208">Se den på www.hjaelpmignu.dk</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hjaelpmignu.dk/2010/06/video-tutorial-om-at-sende-data-fra-flash-til-mail-via-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://media.hjaelpmignu.dk/video/actionscript/serverside/mailer/mailer.mp4" length="147218393" type="video/mp4" />
		</item>
		<item>
		<title>Gratis Flex Builder 3 til brugere af CS4 (Master Collection og Web Premium)</title>
		<link>http://blog.hjaelpmignu.dk/2009/10/gratis-flex/</link>
		<comments>http://blog.hjaelpmignu.dk/2009/10/gratis-flex/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 10:42:13 +0000</pubDate>
		<dc:creator>ockley</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Adobe Creative Suite]]></category>
		<category><![CDATA[Adobe Flex Builder]]></category>
		<category><![CDATA[CS4]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Tilbud]]></category>
		<category><![CDATA[undervisning]]></category>
		<category><![CDATA[Gratis software]]></category>

		<guid isPermaLink="false">http://blog.hjaelpmignu.dk/?p=183</guid>
		<description><![CDATA[Der er mange interessante tiltag på vej med Flash Builder 4 og Adobe Flash Catalyst. De mest interesserede er dog dem, der i forvejen er bekendt med Flex SDK. En stor del af jer har måske lysten til at prøve det programmerne af, men gider ikke at betale for et &#8230;<p><a href="http://blog.hjaelpmignu.dk/2009/10/gratis-flex/" class="more-link"><span>Continue Reading &#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>Der er mange interessante tiltag på vej med Flash Builder 4 og Adobe Flash Catalyst. De mest interesserede er dog dem, der i forvejen er bekendt med Flex SDK.</p>
<p>En stor del af jer har måske lysten til at prøve det programmerne af, men gider ikke at betale for et fuldt program. Hvis du har købt CS4 Web Premium eller CS4 Master Collection, er der ikke nogen undskyldning mere &#8211; du kan nu få Adobe Flex Builder 3 Standard for ingen penge, gratis &#8230; uden beregning. Det er billigt <img src='http://blog.hjaelpmignu.dk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>For at få fingere i din kopi skal du gøre følgende:<br />
1. Besøg sitet <a href="http://www.adobe.com/go/freeflexforcs">www.adobe.com/go/freeflexforcs</a>.<br />
2. Indtast relevante oplysninger (CS4 serial og scannet kopi af kvittering for købet).</p>
<p>3. Download Flex Builder 3.</p>
<p>Tilbuddet gælder til og med 30. april 2010.</p>
<h3>Nu vil jeg gerne lære det</h3>
<p>- tænker du nok. Der er rigtig mange muligheder for at kaste dig over Flex 3. Som udgangspunkt vil jeg anbefale <a href="http://developer.adobe.com/flex">http://developer.adobe.com/flex</a> der giver dig et samlet overblik over tilgængelige ressourcer.<br />
På siden <a href="http://www.adobe.com/devnet/flex/learn/">http://www.adobe.com/devnet/flex/learn/</a> vises &#8220;Learning paths&#8221; hvor du kan udforske på baggrund af din eksisterende viden. Endelig er der videoserien &#8220;Adobe Flex In A Week&#8221; på <a href="http://www.adobe.com/devnet/flex/videotraining/">http://www.adobe.com/devnet/flex/videotraining/</a>, der viser uforskammet mange muligheder på video, sat op som et ugeforløb med undervisningmaterialer. Efter at have gennemgået dem sidder du rigtig godt i sadlen.<br />
Er du til læsning er al dokumentation samlet på adressen <a href="http://www.adobe.com/support/documentation/en/flex/">http://www.adobe.com/support/documentation/en/flex/</a> Hvor alle aspekter af programmet kan hentes i PDF form eller browses online.</p>
<p>Hov, der er forresten også en gratis bog fra O&#8217;Reilly kaldet &#8220;Getting started with Flex 3,&#8221; som du kan hente på  <a href="http://www.adobe.com/devnet/flex/pdfs/getting_started_with_Flex3.pdf">http://www.adobe.com/devnet/flex/pdfs/getting_started_with_Flex3.pdf</a></p>
<p>Jeg kan blive ved, men du skal vist hellere bare gå i gang med det der er vist pt.</p>
<p>Spørgsmål til programmet kan skrives på www.hjaelpmignu.dk under Flashbuilder Pro på adressen <a href="http://www.hjaelpmignu.dk/forum/346">http://www.hjaelpmignu.dk/forum/346</a>. Flashbuilder er navnet på den næste version af Flex, der i øjeblikket er i beta &#8211; det kan godt forvirre lidt med navnene <img src='http://blog.hjaelpmignu.dk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>P.S: på sitet <a href="https://freeriatools.adobe.com/">https://freeriatools.adobe.com/</a> har du mulighed for at få en studie-version. Hvis du kan dokumentere at du er studerende eller er arbejdsløs udvikler. Det giver duig mulighed for at tilegne dig færdigheder i prorgammet. Det er vigtigt at understrege at du ikke må bruge disse versioner til kommerciel brug. Det er ikke tilfældet med det andet tilbud, øverst.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hjaelpmignu.dk/2009/10/gratis-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nyt website til www.hjaelpmignu.dk</title>
		<link>http://blog.hjaelpmignu.dk/2009/06/nyt-website-til-www-hjaelpmignu-dk/</link>
		<comments>http://blog.hjaelpmignu.dk/2009/06/nyt-website-til-www-hjaelpmignu-dk/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 07:25:55 +0000</pubDate>
		<dc:creator>ockley</dc:creator>
				<category><![CDATA[Tutorial og artikler]]></category>
		<category><![CDATA[undervisning]]></category>
		<category><![CDATA[www.hjaelpmignu.dk]]></category>

		<guid isPermaLink="false">http://blog.hjaelpmignu.dk/?p=162</guid>
		<description><![CDATA[Tiden var kommet til at jeg måtte flytte www.hjaelpmignu.dk til et nyt system. Tidligere brugte jeg XOOPS til at holde styr på artikler og forum, men havde svært ved at få det passet ind med min lyst til at skrive flere artikler og ligge videotutorials op, som svar på spørgsmål. &#8230;<p><a href="http://blog.hjaelpmignu.dk/2009/06/nyt-website-til-www-hjaelpmignu-dk/" class="more-link"><span>Continue Reading &#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<p>Tiden var kommet til at jeg måtte flytte www.hjaelpmignu.dk til et nyt system. Tidligere brugte jeg XOOPS til at holde styr på artikler og forum, men havde svært ved at få det passet ind med min lyst til at skrive flere artikler og ligge videotutorials op, som svar på spørgsmål. Derudover ville jeg gerne kunne integrere medskribenter og bruger på en mere social måde.</p>
<p>Resultatet er blevet Drupal, som giver mig en meget åben ramme at arbejde indenfor. Meget af det var selvfølgelig også muligt med den tidligere version, men jeg føler det nemmere at begå mig i Drupal &#8211; både hvad gælder den normale vedligeholdese af indhold, men også når det kommer til videreudvikling og opdatering af plugins osv.</p>
<p>Jeg håber at i vil tage godt i mod sitet, og stille en masse interessante spørgsmål &#8211; meningen med sitet er jo at lave tutorials, der i vid udstrækning baserer sig på dine spørgsmål. Et eksempel kan være, <a href="http://www.hjaelpmignu.dk/node/141">dette spørgsmål</a>, der blev til <a href="http://www.hjaelpmignu.dk/node/142">dette svar</a>.</p>
<p>Her er et par link til de vigtige sektioner</p>
<ul>
<li><a href="http://www.hjaelpmignu.dk/forum">http://www.hjaelpmignu.dk/forum</a> (Forum)</li>
<li><a href="http://www.hjaelpmignu.dk/artikler">http://www.hjaelpmignu.dk/artikler</a> (Artikler)</li>
<li><a href="http://www.hjaelpmignu.dk/contact">http://www.hjaelpmignu.dk/contact</a> (Kontakt)</li>
</ul>
<p>Vel mødt på sitet</p>
<p>/ockley</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hjaelpmignu.dk/2009/06/nyt-website-til-www-hjaelpmignu-dk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learning ActionScript 3.0 &#8211; A Beginner&#8217;s Guide : Boganmeldelse</title>
		<link>http://blog.hjaelpmignu.dk/2009/06/learning-actionscript-30-a-beginners-guide-boganmeldelse/</link>
		<comments>http://blog.hjaelpmignu.dk/2009/06/learning-actionscript-30-a-beginners-guide-boganmeldelse/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 12:56:13 +0000</pubDate>
		<dc:creator>ockley</dc:creator>
				<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Adobe AIR]]></category>
		<category><![CDATA[Adobe Flash Professional]]></category>
		<category><![CDATA[Bøger]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[undervisning]]></category>
		<category><![CDATA[www.hjaelpmignu.dk]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[anmeldelse]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[bog]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[rich shupe]]></category>
		<category><![CDATA[zevan rosser]]></category>

		<guid isPermaLink="false">http://blog.hjaelpmignu.dk/?p=155</guid>
		<description><![CDATA[Titel: Learning ActionScript 3.0 &#8211; A Beginner&#8217;s Guide Sider: 363 Forfatter: Rich Shupe, Zevan Rosser Udgiver: O&#8217;Reilly Genre: ActionScript 3.0 ISBN: ISBN-10: 0-596-52787-X ISBN-13: 978-0-596-52787-7 Introduktion Jeg har læst mange bøger om ActionScript 3.0, men det er sjældent at jeg er blevet så fanget af en bog som jeg er blevet af Learning &#8230;<p><a href="http://blog.hjaelpmignu.dk/2009/06/learning-actionscript-30-a-beginners-guide-boganmeldelse/" class="more-link"><span>Continue Reading &#8594;</span></a></p>]]></description>
			<content:encoded><![CDATA[<h2><img class="size-full wp-image-156 alignright" title="Learning ActionScript 3.0 - A Beginner's Guide" src="http://blog.hjaelpmignu.dk/wp-content/uploads/2009/06/learningas.gif" alt="Learning ActionScript 3.0 - A Beginner's Guide" width="85" height="104" /></h2>
<p><strong>Titel: <span style="font-weight: normal;">Learning ActionScript 3.0 &#8211; A Beginner&#8217;s Guide</span></strong></p>
<p><strong><span style="font-weight: normal;"><strong>Sider: </strong>363 </span></strong></p>
<p><strong>Forfatter: <span style="font-weight: normal;">Rich Shupe, Zevan Rosser</span></strong></p>
<p><strong><span style="font-weight: normal;">Udgiver</span><span style="font-weight: normal;">: <a href="http://oreilly.com/catalog/9780596527877" target="_blank">O&#8217;Reilly</a></span></strong></p>
<p><strong>Genre: <span style="font-weight: normal;">ActionScript 3.0</span></strong></p>
<p><strong>ISBN:</strong><br />
ISBN-10: 0-596-52787-X<br />
ISBN-13: 978-0-596-52787-7</p>
<h2>Introduktion</h2>
<p>Jeg har læst mange bøger om ActionScript 3.0, men det er sjældent at jeg er blevet så fanget af en bog som jeg er blevet af Learning ActionScript 3.0 &#8211; A Beginner&#8217;s Guide. Der er flere grunde til at jeg har lyst til at fremhæve den, og give den topkarakter.</p>
<h3>Farver og linjer</h3>
<p>Jeps, En ActionScript bog i farver. Jeg har egentlig aldrig rigtig tænkt over, <em>hvor </em>meget det forbedrer læsevenligheden &#8211; det er ret vildt. Al koden er skrevet i farver som du genkender fra Flash. Derudover er linjerne nummereret, hvilket gør det uhyre nemt at overskue længere kodestumper. De steder i bogen hvor koden bygges op lidt ad gangen er det også nemt at orientere sig i forhold til de brudstykker der bliver pillet ud og forklaret.</p>
<h3>For børn i alle aldre</h3>
<p>Du må ikke lade dig narre af titlen: &#8220;A Beginner&#8217;s Guide&#8221; for der er sandelig rigtig meget at komme efter for en trænet udvikler. Der er nok af små fif i de senere kapitler, og måder forfatterne forklarer det på, til at alle føler der er gods i bogen. Nogen vil måske mene at der er så meget i bogen at begyndere bliver hægtet af til sidst.</p>
<h3>Sproget er vigtigt</h3>
<p>Bogen er uhyre velskrevet. Der bliver brugt lange afsnit på forklaringer om begreber, metoder og egenskaber. Hvor mange andre ActionScript bøger fokuserer meget på at vise en masse kode, kan der her nemt tages et opslag eller to fra, til at forklare om principperne i det som koden udfører.</p>
<h3>Billeder, Illustrationer osv</h3>
<p>Der er rigtig mange illustrationer. Ikke kun skærmdumps af Flash, eller resultatet af din kode, men også gedigen infografik, der viser principperne i noget af den matematik e. lign. du skal arbejde med.</p>
<h2>Indhold</h2>
<p>Hvad skriver de så om, i bogen? De dækker faktisk et meget bredt område. Uden at gå for meget i kapitel tilstand kan jeg dele det lidt op i faser:</p>
<h3>Overblik</h3>
<p>Den starter med et dybdegående overblik over Flash Platformen, hvad det betyder og hvilke programmer der leverer til den. Den gennemgår derefter forskellene i procedural- og Object-Orientered programming. Når alt det indledende er på plads løber den en 40 sider igennem med variabler, funktioner, klasser osv &#8211; der er fart på, så hvis man er helt ny er det vigtigt at man &#8220;tygger maden godt her&#8221; og prøver de ting der er beskrevet.</p>
<h3>Display List</h3>
<p>Ingen ActionScript-bog uden en god gennemgang af display listen &#8211; et problem de fleste ridligere bruger bøvler med. Her gennemgås hvordan man tilføjer- eller fjerner objekter, bytter rundt på dem osv. Der kommer også et OOP afsnit, der fortæller om Classes, Inheritance, Composition og et par andre relevante Design Patterns.</p>
<h3>Bevægelse og tegning</h3>
<p>Efter man har læst de første 100 sider, skulle man allerede være ret habil i forhold til sproget. Nu begynder nogle af koncepterne at udfolde sig i programmeret bevægelse og partikelsystemer. Endelig bliver Graphics-klassen gennemgået og du bliver præsenteret for nogle meget tunge emner som matricer og trigonometri (Arrgh) <img src='http://blog.hjaelpmignu.dk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Der er også afsat god plads til at forstå hvordan Flash arbejder med pixels. Du gennemgår BitmapData, Blend Modes, filtre og Color Effects, og her (200 sider inde) burde din hjerne sprudle af idéer til, hvordan den nyvundne viden kan udnyttes i praksis.</p>
<h3>Tekst</h3>
<p>I en særskilt sektion bliver teksten behandlet. Bogen går godt i dybden med forklaringerne når det kommer til at oprette tekstfelter, redigere dem, indlejre fonte og tilknytte CSS. Der bliver også taget fat på, hvordan HTML arbejder inde i flash og hvilke muligheder du har for at kalde ActionScript fra HTML.</p>
<h3>Lyd og video</h3>
<p>Næsten til slut, tages der hul på behandlingen af video og lyd. Du lærer at hente ID3 data fra musik. Visualisere waveforms, arbejde med webcam og mikrofon, streame lyd og video osv. osv. Her skal du virkelig have ørene ind til hovedet for at følge med.</p>
<h3>Input/Output</h3>
<p>Til allersidst tages der hul på mulighederne for at hente data ind i flash. Det har været gennemgået sporadisk tidligere, men nu bliver der taget fat om nældens rod og du bliver trukket godt rundt til de forskellige emner der normalt hentes (text, video, billede, swf og lyd). Derefter er et helt kapitel tilegnet XML og E4X. For en Flashudvikler, -designer er det et must at kunne håndtere XML, og dette kapitel ruster dig rigtig godt til at løfte opgaven.</p>
<h3>Ressourcer</h3>
<p>Sidst i bogen er der en beskrivelse af nogle metoder til at gribe et flash-projekt an på og en række referencer til ressourcer, blogs osv.</p>
<h2>Afslutning</h2>
<p>Slap af, Karsten. Du får penge for det. Niks &#8211; ikke i dette tilfælde i hvertfald. Jeg synes denne her bog er så god at jeg vil sige det til alle der gider at høre på det. Den gennemgår så mange teknikker (mange som jeg ikke kendte) og forklarer det på en måde som jeg i hvertfald synes gør den let fordøjelig.</p>
<p>Held og lykke med den, hvis I anskaffer jer den. Skriv gerne kommentarer hvis i har læst den, eller vil høre om den tager bestemte emner op.</p>
<p>Med venlig hilsen<br />
Karsten Vestergaard (ockley)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hjaelpmignu.dk/2009/06/learning-actionscript-30-a-beginners-guide-boganmeldelse/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Ny Photoshop tutorial &#8211; fordybning i overflade</title>
		<link>http://blog.hjaelpmignu.dk/2009/06/ny-photoshop-tutorial-fordybning-i-overflade/</link>
		<comments>http://blog.hjaelpmignu.dk/2009/06/ny-photoshop-tutorial-fordybning-i-overflade/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 21:52:46 +0000</pubDate>
		<dc:creator>ockley</dc:creator>
				<category><![CDATA[Adobe Photoshop]]></category>
		<category><![CDATA[Tutorial og artikler]]></category>
		<category><![CDATA[undervisning]]></category>
		<category><![CDATA[artikel]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[www.hjaelpmignu.dk]]></category>

		<guid isPermaLink="false">http://blog.hjaelpmignu.dk/?p=151</guid>
		<description><![CDATA[Der er lagt en ny tutorial på www.hjaelpmignu.dk. Den viser hvordan du kan tage et silhouet og gøre det til en fordybning i en overflade eller en tekstur. du kan se artiklen på http://www.hjaelpmignu.dk/node/137 /ockley]]></description>
			<content:encoded><![CDATA[<p>Der er lagt en ny tutorial på <a href="http://www.hjaelpmignu.dk">www.hjaelpmignu.dk</a>. Den viser hvordan du kan tage et silhouet og gøre det til en fordybning i en overflade eller en tekstur. du kan se artiklen på <a href="http://www.hjaelpmignu.dk/node/137">http://www.hjaelpmignu.dk/node/137</a></p>
<p>/ockley</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hjaelpmignu.dk/2009/06/ny-photoshop-tutorial-fordybning-i-overflade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

