<?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>blog.swish.pl &#187; Skrypty</title>
	<atom:link href="http://flashblog.swish.pl/category/skrypty/feed/" rel="self" type="application/rss+xml" />
	<link>http://flashblog.swish.pl</link>
	<description>Tworzenie animacji Flash, banerów, stron www w programie SWiSH Max. Tutoriale.</description>
	<lastBuildDate>Thu, 06 Oct 2016 06:49:36 +0000</lastBuildDate>
	<language>pl-PL</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=3.7.41</generator>
	<item>
		<title>Samouczek skryptu: duplicateMovieClip() (powielenia klipu)</title>
		<link>http://flashblog.swish.pl/actionscript/samouczek-skryptu-duplicatemovieclip/</link>
		<comments>http://flashblog.swish.pl/actionscript/samouczek-skryptu-duplicatemovieclip/#comments</comments>
		<pubDate>Tue, 30 Aug 2011 16:00:50 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Skrypty]]></category>

		<guid isPermaLink="false">http://flashblog.swish.pl/?p=580</guid>
		<description><![CDATA[Dla tych, którzy są zainteresowani pogłębieniem znajomości skryptu, prezentujemy samouczek  jednej z bardziej użytecznych poleceń skryptu jest duplicateMovieClip(). Ta akcja jest używana do dynamicznego zduplikowana istniejącego klipu i przynosi znakomite efekty, wykorzystywane np.  przy tworzeniu gry. Tworzenie dodatkowych klipów w ten sposób ma ma wiele zalet, gdy w porównaniu do statycznego tworzenia w panelach obszaru [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><span class="drop">D</span>la tych, którzy są zainteresowani pogłębieniem znajomości skryptu, prezentujemy samouczek  jednej z bardziej użytecznych poleceń skryptu jest <strong>duplicateMovieClip()</strong>. Ta akcja jest używana do dynamicznego zduplikowana istniejącego klipu i przynosi znakomite efekty, wykorzystywane np.  przy tworzeniu gry.<br />
<object id="swfobj_0" width="450" height="450" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://blog.swishzone.com/wp-content/uploads/2011/07/dupmcexample2.swf" /><embed id="swfobj_0" width="450" height="450" type="application/x-shockwave-flash" src="http://blog.swishzone.com/wp-content/uploads/2011/07/dupmcexample2.swf" /><!--[if !IE]>&#8211;> <img src="http://blog.swish.pl/wp-includes/js/tinymce/themes/advanced/img/trans.gif" class="mceItemMedia mceItemFlash" width="450" height="450" data-mce-json="{'video':{},'params':{'src':'http://blog.swishzone.com/wp-content/uploads/2011/07/dupmcexample2.swf'},'object_html':' <!--<![endif]--> <!--[if !IE]>&#8211;> ‚}&#8221; alt=&#8221;" /><!--<![endif]--></object><br />
<span id="more-580"></span></p>
<p>Tworzenie dodatkowych klipów w ten sposób ma ma wiele zalet, gdy w porównaniu do statycznego tworzenia w panelach obszaru roboczego czy konspektu:</p>
<ul>
<li>Mniejsze pliki .swf and .swi. Co oznacza szybsze ładowanie.</li>
<li>Możne zaoszczędzić znaczną ilość czasu tworzenia, jeśli łączna liczba filmów jest duża.</li>
<li>Całkowita liczba klipów jest zmienną. To może być ustawiona zgodnie z wprowadzonymi danymi przez użytkownika. Jest to bardzo przydatne przy tworzeniu gier.</li>
<li>Ponieważ nowe pliki są tworzone przy użyciu skryptów,łatwo jest wyrównać nowo utworzone klipy wideo poprzez ustawienie ich współrzędne _x i _y .</li>
<li>Klipy utworzone w ten sposób mogą być usunięte dynamicznie.</li>
</ul>
<p>To polecenie istnieje zarówno jako metoda filmu (Flash 5 i nowsze) i jako globalna funkcja (Flash 4 i poźniejsze). Akcja ma różne wersje:</p>
<ul>
<li><strong>duplicateMovieClip(<em>cel</em>:String, <em>nowanazwa</em>:String, glebokosc:Number)</strong> (Global function)</li>
<li><strong>duplcateMovieClip(<em>cel</em>:MovieClip, <em>nowanazwa</em>:String, <em></em><strong> glebokosc</strong>:Number)</strong> (Global function)</li>
<li><strong><em>cel</em>.duplicateMovieClip(nowanazwa:String, <em>glebokosc</em>:Number, [<em>poczatkowyObiekt</em>:Object])</strong> (metoda klipu filmowego)</li>
</ul>
<p>gdzie:</p>
<p><strong><em>cel</em></strong> jest nazwą klipu, który ma być powielony.</p>
<p><em><strong>nowanazwa</strong></em> jest nazw dla powielonego, nowo tworzonego, klipu.</p>
<p><em><strong>glebokosc:</strong></em> jest głębokością klipu. musi być liczbą dodatnią. Klip filmowy z wyższą głębokością przesłoni klipy o niższych numerach głębokości. Jeśli głębokość jest już w użyciu, istniejący film zostanie zastąpiony. Tylko jeden element może występować na każdej głębokości. Klipy stworzone statycznie w obszarze roboczym, przed uruchomieniem, mają ujemne wartości głębokość. Metoda klipu <strong>getNextHighestDepth()</strong> może być użyta do odnalezienia następnej dostępnej głębokości dla obiektu. Głębokości obiektów mogą być wymieniane między nimi za pomocą <strong>swapDepths()</strong>.</p>
<p><em><strong>poczatkowyObiekt</strong></em>: jest opcjonalnym parametrem, który określa początkowe atrybuty powielonego klipu (_x, _y, _rotation itp). Ten parametr jest dostępny tylko w wersji metoda polecenia .</p>
<h2>Noty</h2>
<ul>
<li>Powielony klip zaczyna się odtwarzać na klatce 1.</li>
<li>Zmienne w oryginalnym klipie nie sakopiowane do zduplikowanego. Atrybuty są duplikowane, chociaż mogą być zmienione za pomocą parametry poczatkowyObiekt.</li>
<li>Gdyby (źródłowy) klip cel został usunięty, to powielone klipy są również usuwane.</li>
</ul>
<h2>Analiza przykładu pliku .swf</h2>
<p><a href="http://blog.swishzone.com/wp-content/uploads/2011/07/cap1.png"><img title="cap1" src="http://blog.swishzone.com/wp-content/uploads/2011/07/cap1.png" alt="" width="163" height="103" /></a>Scena składa się z jednego klipu filmowego <strong>mc</strong> , który zawiera wiele obiektów. Klip <strong>mc</strong> ma następujące zdarzenie <strong>onSelfEvent (release)</strong> , które jest przetwarzane, gdy klip jest kliknięty .</p>
<pre>onSelfEvent (release) {
    _parent.CopyClip();
}</pre>
<p>Funkcja <strong>CopyClip()</strong> , która jest tu wołana, jest zdefiniowana w głównym filmie i jest następująca:</p>
<pre>function CopyClip() {
    var n = getNextHighestDepth();
    mc.duplicateMovieClip("mc" add n, n,
        {
            _x:Math.randomRange(25,425),
            _y:Math.randomRange(25,425),
            _rotation:Math.randomRange(-45,45)
        });
}</pre>
<p>Ta funkcja woła wersję metody akcji <strong>duplicateMovieClip(</strong>).</p>
<p>do<strong> n</strong> jest przypisywana następna dostępna głębokość dla głównego filmu.</p>
<p>Nowa nazwa filmu jest uzyskiwana przez dodanie <strong>n</strong> na końcu łańcucha znaków  <strong>“mc”</strong>. W ten sposób klipy nazwane<strong> mc1</strong>, <strong>mc2</strong> etc. będą utworzone. <strong>n</strong> jest też używane do określenia głębokości nowego klipu.</p>
<p><strong>poczatkowyObiekt</strong> jest używany do definiowania nowych wartości początkowych <strong>_x</strong>, <strong>_y</strong> i <strong>_rotation</strong>. Wartości te są ustawiane losowym wartościom .poczatkowyObiekt mógłby być poszerzony (gdy potrzeba) by zawierać dodatkowe atrybuty, jak  <strong>_xscale</strong>, <strong>_yscale</strong>, <strong>_alpha</strong> etc.</p>
<p>W końcu animowany krzyż: <strong>CrossAnimated</strong>, ma następujące zdarzenie <strong>onSelfEvent (release)</strong>. To zdarzenie pozwala na usunięcie dynamicznie utworzonych klipów, gdy krzyż jest kliknięty:</p>
<pre>onSelfEvent (release) {
    if ("mc" == _parent._name) {
        // nazwa określająca czy to klip tworzony statycznie
        // przełączenie widoczności ostrzeżenia
        _parent.warning_text._visible = !_parent.warning_text._visible;
    } else {
        _parent.removeMovieClip(); // usuń powielony klip
}</pre>
<p>Ponieważ statycznie utworzone klipy nie mogą być usuwane, sprawdzenie jest wykonywane po nazwie klipu filmowego. Gdy klip ma nazwę <strong>“mc”</strong>. If (_name == “mc”) oznacza statyczny klip, klip wyświetla ostrzeżenie  (stan właściwości_visible jest przełączany). Gdy nazwa oznacza, że to nie jest statyczny klip, klip jest usuwany. Zauważ, że z perspektywy animowanego krzyża, obiekty w klipie są uzyskiwane poprzez odniesienie  <strong>_parent</strong>.</p>
<h2>Przykładowy plik</h2>
<p>Plik SWiSH Max4-a może być pobrany z <a title="download example zip file. " href="http://blog.swishzone.com/wp-content/uploads/2011/07/dupmcexample2.zip">tutaj</a>.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://flashblog.swish.pl/actionscript/samouczek-skryptu-duplicatemovieclip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
