일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- scaleform
- watch
- 태그클라우드
- ApplicationDomain
- flash player 10
- 형변환
- GDC
- as3.0
- as3
- 플래시
- addChild
- CLIK
- Document Class
- DataBinding
- KGC 2013
- flash
- 수학정석
- 클릭
- MMOKit
- scaleform3
- autodesk
- 강좌
- 스케일폼
- Chart
- 애드온
- 집합의 연산
- flash cs3
- as2
- 샌프란시스코
- scaleform4
- Today
- Total
목록as3 (40)
scaleform.minarto.com
뭐 아는 사람은 다 아는 거겠지만... 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 메소드도 없으니..
as3.0 에서는 getURL 대신 navigateToURL 이 생겼다. 사용법은 다음과 같다 import flash.net.*; var url:String = "http://www.minarto.com"; navigateToURL(new URLRequest(url)); 그런데 이렇게 하면 새창으로 떠버리게 된다. navigateToURL(new URLRequest(url), "_blank"); 이렇게 코딩한 셈인데 이상해서 레퍼런스를 봤지만 기본값은 null 이라고 나와있다. navigateToURL(new URLRequest(url), "_top"); 그렇기 때문에 위와 같이 강제로 "_top"을 줘야 한다
as 3.0에서는 buttonMode 속성을 true 라고 해줘야 손가락 모양이 나타난다. 그런데 true 라고 해줘도 안나타나는 경우가 있다. 그 경우는 다음과 같다... var sp:Sprite = new Sprite(); var tf:TextField = new TextField(); tf.text = "미나토입니다"; tf.autoSize = TextFieldAutoSize.LEFT; sp.addChild(tf); addChild(sp); sp.buttonMode = true; sp.addEventListener(MouseEvent.ROLL_OVER, over); function over(event:Event):void { trace(event); } 이것은 hitArea 의 영역을 설정해주지 않..
trace(int(2.6)) // 2 trace(uint(2.6)) // 2 num >= 0 일 때, int(num) = Math.floor(Number(num)) 과 같은 결과를 가진다. 간혹 Math.round 로 착각하는 실수를 하지 말자... num < 0 일 때, uint(num) = 4294967295 가 나오니 주의할 것. trace(uint(undefined)) // 0 trace(uint(null)) // 0 trace(uint(true)) // 1 trace(uint(false)) // 0 trace(uint(NaN)) // 0 trace(uint("")) // 0 null 또는 Boolean 값이 들어왔을 때의 결과는 위와 같다. NaN이라고 나올거라 생각하는 실수 또한 주의 할 것...
어제 고민에 빠졌던 LoaderInfo 문제를 해결하였다. 코드의 문제가 아닌 html 상의 문제로 cs3에서 제너레이트하는 html과 충돌이 있었던 것 같다. html as3.0 var tf:TextField = new TextField(); tf.autoSize = TextFieldAutoSize.LEFT; addChild(tf); try { var properties:String; var value:String; var parameters:Object = LoaderInfo(this.root.loaderInfo).parameters; for (properties in parameters) { value = String(parameters[properties]); tf.appendText(proper..
http://www.papervision3d.org/ 대단하단 생각, 어이없단 생각... 난 모래에 불과하다... p.s. 실수로 http://www.papervision3d.org/ 의 샤크데모에 이 글을 트랙백을 보냈다....한글로 말이다... 지울 방법을 모르겠다. 이런...ㅡ.,ㅡ;;;
as2.0 에 익숙해진 손가락 때문일까? 가끔 선언만 하고선 addChild 를 안해서 플래시가 제대로 안돌아갈 때가 있다...(대부분의 경우 이때는 에러도 안뜬다) 그리고나서는 버그를 찾기 위한 삽질... 컴파일러 창이 좀 바껴서 익숙치도 않다 addChild 를 잊지 말자...
linkage 의 base class 에 처음에는 모르고 부모 클래스명을 써넣었다... 당연히 따라오는 에러 메시지... 계속 부모를 찾아가 플래시의 기본 클래스를 써넣어야 한다... 대부분의 경우 당연히 flash.display.MovieClip 이 될 것이다...
아직 한참 공부 중이니 내가 잘못하고 있는 것일 수도 있다. AS 2.0 까지는 swf?변수명=값 을 받아오려면 바로 변수명으로 접근을 받아 String 로 리턴을 받을 수 있었다. 3.0에서는 그 방법이 더이상 불가능하기 때문에 LoaderInfo 클래스를 이용해야 한다. 레퍼런스에는 딱히 샘플이 안나와 있고 해서 테스트 샘플을 만들어봤는데 몇몇 포럼이나 인터넷을 돌아다니며 찾아본 바로는 딱히 다르지 않다. var p:Object = root.loaderInfo.parameters; var txt:TextField = new TextField(); txt.autoSize = TextFieldAutoSize.LEFT; for(var i in p) { txt.appendText(i + " = " + p[i..