일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- flash
- Document Class
- as3
- 클릭
- autodesk
- 강좌
- 플래시
- KGC 2013
- scaleform
- 형변환
- scaleform4
- 수학정석
- 스케일폼
- Chart
- 태그클라우드
- addChild
- ApplicationDomain
- 집합의 연산
- MMOKit
- flash cs3
- DataBinding
- as2
- 애드온
- scaleform3
- as3.0
- watch
- CLIK
- GDC
- flash player 10
- 샌프란시스코
- Today
- Total
목록ActionScript (104)
scaleform.minarto.com
as3 에서는 swf나 이미지 파일을 불러오기 위해서는 Loader class 를 사용하여야 한다. var loader:Loader = new Loader(); loader.load(new URLRequest(파일명:String)); addChild(loader); 이런식이다. 뭐, 잘 불러진다. 그럼 Event.COMPLETE 이벤트를 발생하기 위해서는 어찌해야 할까나... loader.addEventListener(Event.COMPLETE, handler); 이렇게? 얼핏 보면 맞아보이고 컴파일 단이든 런타임 단이든 에러도 발생하지 않지만 정작 이벤트는 발생하지 않는다. 이벤트는 다음과 같이 작성해야만 발생한다. (이걸 몰라 레퍼런스를 찾기 전까지 몇분간 해맸다는... 역시 구글신과 맞짱뜨시는 레퍼..
import com.minarto.color.GetRGB; var bd:BitmapData = new BitmapData(mc1.width, mc1.height, false); bd.draw(mc1); var new_bd:BitmapData = new BitmapData(mc1.width, mc1.height, false); var dif:uint = 15; for(var i:uint=0; i parseInt(dif + "", 16)) { new_bd.setPixel(j, i, 0); } else { new_bd.setPixel(j, i, 0x00FFFFFF); } } } } var bm:Bitmap = new Bitmap(new_bd); addChild(bm); bm.x = mc1.width; 재미있는..
var _width:Number = 200; var _height:Number = 200; var bd:BitmapData = new BitmapData(_width, _height, false); for(var i:uint=0; i
클래스 다이어그램, 2 > 3 마이그레이션, ecma 문서... 예전에 받아놓았지만 어쩌다가 한번씩 보는 녀석들...
전에 올린 buttonMode 에 관한 글(http://www.minarto.com/24) 에 몇가지 사실을 더 덧붙일 것이 생겼다. as3 에서 버튼 이벤트가 걸린 InteractiveObject 위에 InteractiveObject 가 겹쳐 있다면 겹친 부분은 버튼 이벤트가 발생하지 않는다. var sp1:Sprite = new Sprite(); sp1.graphics.beginFill(0); sp1.graphics.drawRect(0, 0, 100, 100); sp1.graphics.endFill(); addChild(sp1); var sp2:Sprite = new Sprite(); sp2.graphics.beginFill(0xFFCC00); sp2.graphics.drawRect(0, 0, 100..
http://www.minarto.com/31 이건 전의 글이고.... 거기에 조금 더 덧붙일 것이 생겼다. 스테이지에 mc1, mc2 라는 무비클립을 만들어 놓고 다음의 코드를 집어넣어보자 var tf:TextField = new TextField(); tf.text = "dsfsfasfsafas"; mc1.addChild(tf); mc1 에 텍스트가 생긴 것을 볼 수 있을 것이다. 그럼 다음의 코드를 추가해보자 var tf:TextField = new TextField(); tf.text = "dsfsfasfsafas"; mc1.addChild(tf); mc2.addChild(tf); mc2에는 텍스트 필드가 생기고 mc1 에서 생긴 것을 볼 수 있다. 그렇다면 마지막으로 다음의 코드를 보자 var ..
숫자를 0~10 까지 찍고 싶다고 치자 for(var i:uint=0; i=0; i--) { trace(i); } 보통 이렇게 짜는 것이 일반적이다... 그러나 이것이 맞는 코드일까? 정답은 아니다...이다. 저렇게 했다가는 컴퓨터 다운되기 쉽상이다. 이 이유를 설명하기 위해서는 for 문과 uint 데이터타입에 대한 정확한 이해가 필요하다. 두번째 구문은 i는 10 부터 i-- 한 값이 0 이상이면 {} 안의 구문을 실행시킨다는 것이다. 여기서 놓쳐서는 안되는 것이 i-- 한 값이 0 이상이면 이다. 0 이상일 때까지 i-- 를 하란 것이 아니다. 결국 i-- 를 한 이후에 그 값을 0과 비교하게 된다. 바로 여기서 두번째 문제가 생긴다. uint 데이터 타입은 0 ~ 4,294,967,295 (2^3..
물론 실무에서 사용하려면 이렇게는 쓸 수 없고 한참 바꿔야 할 것이다. 하지만 as2.0 을 좀 했던 친구들은 다음의 코드만 보면 as3.0 으로 금방 적응할 것이다... package { import flash.display.*; import flash.text.*; import flash.events.Event; import flash.events.MouseEvent; import flash.net.*; public class Main extends MovieClip { protected var loader:URLLoader; public function Main():void { System.useCodePage = true; stage.align = StageAlign.TOP_LEFT; stage...
뭐 아는 사람은 다 아는 거겠지만... removeChild 메소드 사용시 자주 나올 수 있는 실수를 짚고 넘어가자면... var sp:Sprite = new Sprite(); addChild(sp); trace(sp); // [object Sprite] removeChild(sp); trace(sp); // [object Sprite] sp = null; trace(sp); // null; 위와 같이 removeChild 는 디스플레이 오브젝트에서 빼낸 것 뿐이지 sp라는 Sprite 객체를 완전히 삭제해 버린 것이 아니다. 다음의 코드도 보자 var sp:Sprite = new Sprite(); addChild(sp); trace(sp); // [object Sprite] sp = null; trac..
var sp1:Sprite = new Sprite(); addChild(sp1); var sp2:Sprite = new Sprite(); addChild(sp2); sp2.y = 400 var shape:Shape = new Shape(); shape.graphics.beginFill(0xFFFF00); shape.graphics.drawCircle(0, 0, 200); sp1.addChild(shape); sp2.addChild(shape); 두개의 DisplayObject 클래스를 화면에 올려놓고 또하나의 DisplayObject 클래스를 만들어 집어넣어보았다. 그냥 단순한 생각으로는 두군데 모두 들어가야 맞다고 생각했으나 그게 아니었다. DisplayObject 클래스에는 clone 메소드도 없으니..