Flash
Premium Features에 관한 내용.
Stage3D클래스의 requestContext3D함수에 다음과 같은 내용이 있다. "참고: 하드웨어 가속 Stage3D와 ApplicationDomain.domainMemory를 모두 사용하는 내용에는 라이센스가 필요합니다. 자세한 내용은 adobe.com/go/fpl_kr을 참조하십시오." 첫번째, Stage3D와 ApplicationDomain.domainMemory 둘 다 사용할 경우에 비용을 지불한다. 즉, 둘 중 하나만 쓰면 비용이 발생하지 않는다. 두번째, 두가지 다 사용할 경우 수익이 $50,000가 넘으면 9%를 지불한다. 세번째, 두가지 다 사용할 경우 라이센스 비용을 지불 안했다면 디버그 버전에선 정상 작동하나릴리즈버전일 때 워터마크가 붙는다. 그리고 GPU를 사용할 수 없다.
stage3D.requestContext3D() 호출시 런타임 에러
stage3D.requestContext3D(); 실행시 런타임 에러가 발생하는 경우가 있다. "Error #2044: Unhandled ErrorEvent:. text=Error #3702: Context3D not available." Context3D를 사용할 수 없는 상태이므로 이럴때는 "프로젝트명-app.xml"에서 gpu 로 변경해준다. *참고 : 웹상에 바로 올릴 때는 html임베드시 를 direct로 해주어야 한다.
Flex SDK안에 AIR SDK 업데이트하기.
Flahs Builder 사용자만... 다른 IDE는 확인 안해봤음. 1. www.adobe.com/products/air/sdk/ 에서 최신 AIR를 다운로드 받는다. 2. 압축을 해제한 후 해당 폴더안의 내용물들을 Flex SDK 폴더에안에 덮어씌운다.(내 로컬pc의 경우 C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.5\sdks\4.6.0) 관련linkhttp://forums.adobe.com/message/4734285 http://helpx.adobe.com/x-productkb/multi/how-overlay-air-sdk-flex-sdk.html (나같은 경우 5, 6번의 경우를 추가하면 컴파일시 에러가 발생했다.)
invalid application descriptor
Flash Builder에서 컴파일시 invalid application descriptor에러가 발생했을 경우. 1. 에러가 발생했다. 이유는 현재 내 로컬pc에 설치된 AIR SDK 버전이 -app.xml에 명시된 AIR의 버전과 틀려서이다. 2. 바로 이 부분. 현재 AIR 3.1버전을 필요로 한다. 3. 프로젝트 생성 후 src폴더 안에 "프로젝트명-app.xml" 파일이 존재한다. (src폴더를 기본 소스폴더로 설정했다면) 4. "프로젝트명-app.xml"을 열어보면 로 명시가 되어있어야 한다. 만약 뒤에 버전이 맞지 않는다면 invalid application descriptor 에러가 발생한다. 5. 만약 AIR 3.5버전을 사용하고 있는데 라고 3.1을 적어도 잘 된다. 2.9는 에러 발생..
[펌]ActionScript에서의 Deep copy
사실 이 내용은 3일밤낮을 머리싸매고 고민하며 온갖 방법들을 이용해서 Deep copy를 시도하다가 모르겠어서 맘먹고 구글링을 한 3시간 해서 찾아낸 결과이다. 정말 힘들었다. ㅠㅠ 학생들을 가르치다보면 벽에 부딪히는 부분이 가끔 있다. Call by value 와 Call by reference의 차이를 이해를 못 한다는 것이었다. C언어를 가르칠 때 포인터를 설명하며 알려주면 쉽게 이해하는 부분이었지만, 요즘 대부분은 모바일의 여파 때문인지 JAVA를 먼저 배우는 것 같다.(즉 안드로이드 때문 --;) 그래서 그 들에게 설명할 때 내 머릿속에는 포인터로 이해되어있는 내용을 포인터란 단어를 꺼내지 않고 설명하는 것은 상당히 곤란한 일이었다. 그래서 언제나 예시로 배열을 하나 생성해서 대입을 해주고 값을..
IKManager.getArmatureByName 사용하기
역기구학 : 뼈와 관절구조를 사용하여 객체나 객체집합이 서로 유기적으로 움직이도록 애니메이션 처리하는 방법. 역기구학에 흥미를 느껴 플래시로 역기구학(fl.ik 패키지)을 테스트해 보았다.하지만 처음부터 막혔다. 툴 상자에서 Bone Tool(뼈 모양 툴)을 사용하여 IK Armature를 만들었다. 그리고 Armature객체를 참조하기 위하여 IKManager.getArmatureByName()를 사용하였다.import fl.ik.*; var tree:IKArmature = IKManager.getArmatureByName("ArmatureTest"); trace(tree); //null분명 fla상에는 IK Armature이름이 "ArmatureTest"로 잘 되어있다.하지만 곧 죽어도 null이다...
FlashBuilder에서 swc소스 생성하기
Flex Library Project 생성. SWCTest라고 이름지었다. 그리고선 src폴더 안에 소스를 생성. 프로젝트 Properties들어가서 Flex Library Build Path탭으로 들어가 Classes에서 swc로 변환할 파일들선택한다.그리고 Output 폴더도 선택. Build Project를 실행하면 Output폴더로 선택한 bin폴더에 swc가 생성된다. 위의 방법은 Flash Builder 4.5에서 설명한 내용이다.Flash Builder 4.7에서는 src이하 폴더에서 작성한 as파일들이 저장될 때 마다 실시간으로 swc에 반영된다.(output 폴더로 지정한 곳에 생기는 swc파일)
as3isolib 뎁스 설정하기
IsoSprite의 sprites 속성을 통해 디자인을 입힐 수 있다. 그리고 IsoSprite객체는 자동으로 뎁스를 설정해 주는 줄 알았다. 그런데... 이게 뭥미....... 뎁스가 마구 꼬여버렸다. 자료를 아무리 뒤져봐도 이상한 헛소리만 나오고... 결국 알아냈다. isoSpriteInstance.setSize(width, length, height); 이처럼 setSize함수를 통해 IsoSprite객체의 사이즈를 설정해 주어야 한다. 이젠 잘 된다. 주의할 점은 sprite의 중심점의 위치다. 보는 바와 같이 sprite의 (0,0)에 해당하는 육면체의 아랫면 상단꼭지점이 무비클립의 중심점으로 와야한다. 그래야지만 setSize함수를 통해 설정한 값을 토대로 뎁스가 잘 설정된다.