[AS3] Integer.reverseBytes() of Java.

Posted 2008/07/30 13:52 by wooyaggo
public function reverseBytes( value: int ): int
{
     var num: int = ( ( value >>> 24 ) ) | ( ( value >> 8 ) & 0xFF00 ) | ( ( value << 8 ) & 0xFF0000 ) | ( ( value << 24 ) );
         
     return num;
}

Java 의 Integer.reverseBytes() 기능을 하는

ActionScript 3.0 버젼의 reverseBytes 입니다.


이올린에 북마크하기(0) 이올린에 추천하기(0)

Tag : 3.0, flash, reverseBytes

사용자 삽입 이미지

ReflectingBitmapData

-_-)/~

일반 이미지를 바닥에 비치는 이미지처럼 보여주는 클래스입니다.

맨날 바닥에 비치는 이미지 만들기 귀찮아서

이번에도 솔깃한 클래스 하나 올립니다 _(_ _)_

요즘 비치는 디자인이 많은데

요놈 한번~ 잡솨봐~

아주 쉽게 비치는 이미지를 사용할 수 있습니다.

사실 저도 컴퍼넌트로 만들려다가

하다보니 이렇게 쉽게 사용할 수 있을 줄은 몰랐습니다 -0-;;

딱 라이브러리에 있는 이미지의 Base Class 만 지정해주시면 됩니다. (맨 위 이미지)


사용자 삽입 이미지

아래 1/3 정도가 투명한 png 이미지

단, 주의하실 점은 이미지 자체가 아래 비치는 영역이 비어있어야합니다. (위 이미지처럼)

그렇지 않으면 아랫쪽 1/3 이 지워지고 그 부분에 비치는 영역이 생기게 됩니다.

우리 모두 고급 개발자가 되기위하여~~

p.s) 혹시 딴지거시는 분 있을까봐 알려드려용.

바닥에 바로 비치는 부분은 주변의 반사광으로 인해서 물체가 또렷하게 비치지 않습니다.

그렇기 때문에 바닥에 바로 닿는 부분은 잘 안보이고 갈수록 보이다가 끝으로 갈 수록 안보이게 되도록 제작했습니다.

멋지죠? 그렇다면 후원금 ㄱㄱ

소스 & 샘플 다운 받기

이미지 아래로 1/3 늘려주는 Photoshop CS3 용 Action 파일

(받아서 더블클릭하면 Action 이 추가됨, png 파일 열고 액션 돌리면 되겠죠?)

소스 보기


Tag : as3, BitmapData, 비치는 이미지

[AS3] 포토샵 선택툴 효과

Posted 2008/03/10 10:59 by wooyaggo


지금 만드는 캡쳐플그램에 쓸일이 있어서

평소 만들어보고 싶었는데

의외로 이쁘게 만들어졌네요.^^

그릴 영역을 Rectangle 클래스로 설정하고

SelectionLayer.draw( rect ); 로 동작해주시면 됩니다.

SelectionLayer.as 소스보기


사용예입니다. ( 패키지명 맞춰서 1 frame 에 붙여서 테스트하시면 됩니다. )

import com.display.SelectionLayer

var selection: SelectionLayer = new SelectionLayer();
addChild( this.selection );

var rect: Rectangle = new Rectangle( 0, 0, 200, 200 );
this.selection.draw( rect );
this.selection.x = this.selection.y = 50;


[ 소스 받기 ]


Tag : 3.0, as3, flash, selection, 선택툴, 플래시

[AS3] XMLLoader 클래스.

Posted 2008/03/07 17:48 by wooyaggo
기존의 URLLoader 의 경우

한상훈님의 말씀에 의하면

euc-kr 로 인코딩되어 있는 파일에서

4000 자가 넘는 xml 파일의 경우 파싱 에러가 난다고 합니다.

저 역시도 한글 파일의 내부 파서 오류때문에

엄청나게 고생했었습니다.

그래서 URLLoader 가 아니라

URLStream 으로 읽어들여 직접 "euc-kr" 로 읽어와서

XML 로 파싱하는 방법으로 해결하였습니다.

아래는 XMLLoader 클래스의 주요 소스입니다.

override protected function loadComplete( e: Event ): void
{
     try
     {
          this._xml = XML( this.loader.readMultiByte( this.loader.bytesAvailable, this.encode ) );
     }
     catch( e: TypeError )
     {
          this.dispatchEvent( new XMLLoaderEvent( XMLLoaderEvent.LOAD_FAIL, "parse error" ) );
          return;
     }
    
     this.dispatchEvent( new XMLLoaderEvent( XMLLoaderEvent.LOAD_COMPLETE ) );
}

위에서 보시다시피 URLStream.readMultiByte 로 직접 텍스트를 가져옵니다.

인코딩 타입은 기본으로 utf-8 로 잡혀있지만

XMLLoader.encode 라는 변수에 직접 euc-kr 또는 ascii 로 설정하실 수 있습니다.

아래는 euc-kr 로 작성된 파일을 URLLoader 와 XMLLoader 를 실험해놓은 페이지 입니다.

URLLoader : http://www.as3.kr/URLLoader/

XMLLoader : http://www.as3.kr/XMLLoader/

위 실험에서 URLLoader 는 50% 확률로 XML 이 오류가 나는 반면

XMLLoader 는 에러가 나지 않는 것을 보실 수 있습니다.



테스트에 사용된 소스와 관련 소스를 첨부합니다.

다운로드


Tag : 3.0, as3, TIP, URLLoader, XMLLoader

[AS3] CustomTextMotion

Posted 2007/10/12 15:49 by wooyaggo

Flex 용 swc 컴포넌트


Flash CS3 용 swc 컴포넌트


 - 샘플 -

사용방법 :

1) Flex 용 swc 컴퍼넌트
 - Flash 로만 작업하면 필요 없음
 - Project 우클릭 > Properties > ActionScript Build Path > Library path > Add SWC > 파일 선택
 - 사용 ㄱㄱ

2) Flash CS3 용 swc 컴퍼넌트
 - Flex 로만 작업하면 필요 없음
 - C:\Users\우야꼬\AppData\Local\Adobe\Flash CS3\en\Configuration\Components (사용자 계정. 예는 vista)
 - Flash CS3 용 swc 컴퍼넌트 복사
 - 플래시 창에서 Components 패널 reload.
 - Library 로 com_motion 컴퍼넌트를 추가한다.
 - 사용 ㄱㄱ

사용 예제

package AS
{
     import com.motion.*;
    
     import flash.display.Sprite;
     import flash.events.MouseEvent;
     import flash.text.*;

     public class CustomTextMotionSample extends Sprite
     {
          private var motion:CustomTextMotion;
         
          private var txt:TextField;
         
          public function CustomTextMotionSample()
          {
               this.createText();
              
               this.motion = new CustomTextMotion();
               this.motion.target = this.txt;
              
               this.stage.addEventListener(MouseEvent.CLICK, click);
          }
         
          private function click(e:MouseEvent):void
          {
               this.motion.start();
          }
         
          private function createText():void
          {
               this.txt = new TextField();
               this.txt.defaultTextFormat = new TextFormat("Tahoma", 10);
               this.txt.text = "com.motion.CustomTextMotion Sample";
               // Left
               this.txt.autoSize = TextFieldAutoSize.LEFT;
               this.txt.x = (this.stage.stageWidth - this.txt.width)/2;
               this.txt.y = (this.stage.stageHeight - this.txt.height)/2;
              
               this.addChild(this.txt);
          }
     }
}

추가 설정 예제

 - 모션 진행 방향
 - 랜덤 텍스트 캐릭터 세트 설정. (영문, 특수문자, 영문+특수문자, 한글(비츄))
 - 모션 시간 (ms)
 - 이벤트 (시작, 변할때마다, 끝)

package AS
{
     import com.motion.*;
    
     import flash.display.Sprite;
     import flash.events.MouseEvent;
     import flash.text.*;

     public class CustomTextMotionSample extends Sprite
     {
          private var motion:CustomTextMotion;
         
          private var txt:TextField;
         
          public function CustomTextMotionSample()
          {
               this.createText();
              
               this.motion = new CustomTextMotion();
               this.motion.target = this.txt;
              
               // CustomTextEvent : START, STOP, UPDATE
               this.motion.addEventListener(CustomTextEvent.START, onStart);
               this.motion.addEventListener(CustomTextEvent.STOP, onStop);
               this.motion.addEventListener(CustomTextEvent.UPDATE, onUpdate);
              
               // CustomTextSet : ENGLISH, ESCAPE, ENGLISH_ESCAPE, KOREAN(not recommand).
               this.motion.character = CustomTextSet.ENGLISH_ESCAPE;
              
               // CustomTextDirection : LEFT, RIGHT
               this.motion.direction = CustomTextDirection.RIGHT;
              
               // Delay (ms)
               this.motion.time = 5000;
              
               this.stage.addEventListener(MouseEvent.CLICK, click);
          }
         
          private function click(e:MouseEvent):void
          {
               this.motion.start();
          }
         
          private function onStart(e:CustomTextEvent):void
          {
               trace("start");
          }
         
          private function onStop(e:CustomTextEvent):void
          {
               trace("stop");
          }
         
          private function onUpdate(e:CustomTextEvent):void
          {
               trace("update");
          }
         
          private function createText():void
          {
               this.txt = new TextField();
               this.txt.defaultTextFormat = new TextFormat("Tahoma", 10);
               this.txt.text = "com.motion.CustomTextMotion Sample";
               // Right
               this.txt.autoSize = TextFieldAutoSize.RIGHT;
               this.txt.x = (this.stage.stageWidth - this.txt.width)/2;
               this.txt.y = (this.stage.stageHeight - this.txt.height)/2;
              
               this.addChild(this.txt);
          }
     }
}

Tag : 3.0, as3, custom, flash, random text, 소스, 플래시

This page has been locked by password.

[Javascript] 기본 Flash Embed 소스

Posted 2007/09/19 11:43 by wooyaggo

// reEmbed.js
function reEmbed(str){ document.write(str) }

// at html

<script language="javascript" src="http://pro.dmikorea.co.kr/reEmbed.js"></script>
<script language="javascript">

<!--

커스터마이징시 바꿀 변수들

swf_src = SWF 의 경로 (절대경로, 상대경로 무관)
swf_width = SWF 의 가로크기 (px, % 무관)
swf_height = SWF 의 세로크기 (px, % 무관)
swf_version = SWF 버젼 (9.0.47.0 기본)

그밖의 주요 변수들

swf_fullscreen = false 로 되어 있을 경우 전체화면이 실행되지 않습니다.
swf_script = always 가 기본. samedomain 은 다른 도메인에서 불려진 swf 는 외부와 통신할 수 없습니다. never 는 어떤 swf 도 외부와 통신할 수 없습니다.
swf_wmode = window, opaque 는 자체 배경색을 유지하고 transparent 는 플래시의 배경색을 투명하게 만들어 웹페이지의 배경색을 보여줍니다.
swf_networking = all 이 기본이며 internal 로 되어 있으면 일부 링크 기능이 제한되며 none 으로 되어 있으면 어떤 외부 동작도 할 수 없으며 서버와 통신도 할 수 없습니다.
swf_vars = 플래시로 보낼 파라미터 값.

-->

var swf_src    = "CGMFlvPlayer.swf";
var swf_width   = "406";
var swf_height  = "366";
var swf_version  = "9.0.47.00";
var swf_id    = (tmp = swf_src.split("/"), tmp = tmp[tmp.length - 1], tmp.split(".swf").shift());
var swf_fullscreen = "true";
var swf_script   = "always";
var swf_wmode  = "window";
var swf_networking = "all";
var swf_bgcolor  = "";
var swf_vars    = "cid=1234&skin=pink"; // pink, gray, purple, black
var nocache    = Math.random()*3600000;
reEmbed('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+swf_version+'" name="'+swf_id+'" width="'+swf_width+'" height="'+swf_height+'" id="'+swf_id+'">  <param name="movie" value="'+swf_src+'?nocache='+nocache+'" />  <param name="quality" value="high" />  <param name="allowFullScreen" value="'+swf_fullscreen+'" />  <param name="bgColor" value="' + swf_bgcolor + '" /> <param name="allowScriptAccess" value="'+swf_script+'" />  <param name="allowNetworking" value="'+swf_networking+'" />  <param name="wmode" value="'+swf_wmode+'" />  <param name="FlashVars" value="'+swf_vars+'" />  <embed src="'+swf_src+'?nocache='+nocache+'" allowFullScreen="'+swf_fullscreen+'" FlashVars="'+swf_vars+'" allowScriptAccess="'+swf_script+'" allowNetworking="'+swf_networking+'" width="'+swf_width+'" height="'+swf_height+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" name="'+swf_id+'"></embed></object>');
</script>

독도 광고 모금 캠페인