Home > Flash | WEB > Flash,Degrafaで簡単に波を表現 (1)

Flash,Degrafaで簡単に波を表現 (1)

flash_wave

FlashグラフィックコンポーネントのDegrafaで引き続き遊んでみた。
mxmlを除くスクリプト部分はわずか7行で、簡単な波が!

↓続き

前にかいたのと同じようなことを
Degrafaを使用してやってみました。

Degrafaには3次ベジェ曲線オブジェクトである、CubicBezierがあるので、
それをMXMLで配置して、色と塗りを指定していきます。
CubicBezierでベジェ曲線をひくには、
始点( x0, y0)、終点(x1, y1)、作用点を二つ(cx,cy),(cx1,cy1)を指定します。

EnterFrameイベントで、作成したベジェ曲線オブジェクトを移動していくと、ナミナミできました。

次の記事で、Degrafaで塗りのある波もやってみます。
  → Flash,Degrafaで簡単に波を表現 (2)
関連→ FlashグラフィックコンポーネントDegrafaを試す

コードは、すごいシンプルです。

XML:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns="http://www.degrafa.com/2007" width="400" height="220" backgroundColor="#FFFFFF" enterFrame="onEnterHandler(event)">
  3.   <mx:Script>
  4.     <![CDATA[
  5.       [Bindable]private var waveHeight:Number = 50;
  6.       [Bindable]private var waveWidth:Number = 410; //> width
  7.       private function onEnterHandler(event:Event):void{
  8.         if(this.bezier1.x <-this.waveWidth) this.bezier1.x = this.bezier2.x + waveWidth;
  9.         if(this.bezier2.x <-this.waveWidth) this.bezier2.x = this.bezier1.x + waveWidth;
  10.         this.bezier1.x -= 10;
  11.         this.bezier2.x -= 10;
  12.       }
  13.     ]]>
  14.   </mx:Script>
  15.  
  16.   <Surface>
  17.     <!-- 塗りの指定 -->
  18.     <fills>
  19.       <LinearGradientFill id="MainFill" angle="90">
  20.         <GradientStop ratio="0" alpha="1" color="#FFFFFF"/>
  21.         <GradientStop ratio="1" alpha="1" color="#DDDDFF"/>
  22.       </LinearGradientFill>
  23.     </fills>
  24.  
  25.     <!-- 線の指定 -->
  26.     <strokes>
  27.       <SolidStroke color="#666688" alpha="1" weight="1" id="BasicStroke"/>
  28.     </strokes>
  29.  
  30.     <!--表示するオブジェクト-->   
  31.     <GeometryGroup>
  32.       <RegularRectangle id="rect" width="{width-2}" height="{height-2}" x="0" y="0" fill="{MainFill}" stroke="{BasicStroke}">   
  33.         <GeometryComposition id="beziers">
  34.           <CubicBezier id="bezier1" x="{-waveWidth/2}" y="{height/2}" x0="0" x1="{waveWidth}" y0="0" y1="0" cx="{waveWidth/2}" cy="{-waveHeight}" cx1="{waveWidth/2}" cy1="{waveHeight}" stroke="{BasicStroke}" />
  35.           <CubicBezier id="bezier2" x="{waveWidth/2}" y="{height/2}" x0="0" x1="{waveWidth}" y0="0" y1="0" cx="{waveWidth/2}" cy="{-waveHeight}" cx1="{waveWidth/2}" cy1="{waveHeight}" stroke="{BasicStroke}"/>
  36.         </GeometryComposition>     
  37.       </RegularRectangle>
  38.     </GeometryGroup>
  39.  </Surface>
  40. </mx:Application>

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://parpue.net/web/630/trackback
Listed below are links to weblogs that reference
Flash,Degrafaで簡単に波を表現 (1) from parpue.net

Home > Flash | WEB > Flash,Degrafaで簡単に波を表現 (1)

リンク
chocolataste-planner
millon

サーチ
Feeds
Meta
blog ranking ブログランキング・にほんブログ村へ
にほんブログ村 テクノラティのお気に入りに追加する

Return to page top