안녕하세요. 또 질문이 생겼네요.^^
이솔
작업을 진행하던중... 아주 황당한 경우가 생겨서 찾다 보니...
SpriteAsset 요놈이 문제더라구요.
이유인즉... loader로 swf를 로드 했는데... 그 swf는 일단... documnet 클래스를 기준으로 코딩이 되었더랬죠...
모션도 없었고...
긍데... 본격적으로 타임라인 모션들이 좀 있고 하다 보니... 문제가 발견된게...;;
타임라인에 액션이 안먹어요..ㅎㅎ
1프레임 밖에...
그래서 이유를 찾던중....
일전에 뭣 모르고 오케이해서 업데이트 한 flex sdk 같은데... 이게 library path에 등록이 됐는데...
그래서 안되나바여...
사실 잘 모르겠지만... 어째든 sprite니깐 1프레임 액션만 먹는거였어... 라고 짐작하고 있지만...
이유가 뭘까요? 이게 왜 패스에 등록이 되야만 할까여?
퍼블리싱을 하면...
1017: 기저 클래스 SpriteAsset의 정의를 찾을 수 없습니다.
라고 뜨는데요...
\preloaders\Preloading_Proloading_Skin.as, 선 111017: 기저 클래스 SpriteAsset의 정의를 찾을 수 없습니다.
문제는 제가 위에 경로에 저런 클래스 파일을 가지고 있질 않다는거죠... -_-;;
어째든...
음... 퍼블리싱 하면 자동으로 업뎃 창 떠서... 업뎃 해야지만 퍼블리싱이 되는데....
그러면 로드되는 녀석의 타임 라인 액션이 안먹고... 음... 어떻게 해야 할까요? ㅠㅜ
답변 좀 부탁드리겠습니다.
더불어 저녀석이 뭔지도 설명해주시면 감사하겠습니다..^^
-
딸기우유
의외로 간단한게 원인이 아닐까 하는데요. 플래시에서 퍼블리싱 하는게 아니라 플렉스 sdk가 퍼블리싱하기 때문에 생기는 문제 같습니다. 업댓 되면서 퍼블리싱 이게 걸리네요. 도큐먼트 클래스로 swf를 제작하건 안하건 플래시에서는 무비클립타입으로 제작하는데요. 플렉스에서는 무비클립을 사용하지 않으므로, 플렉스에 맞게 퍼블리싱 되겠고, 아마도 sprite타입으로 될 것이라고 생각합니다. 문제의 경로는 플렉스 sdk의 경로일 것 같구요.
-
매화
말씀하신 내용하고 비슷한 부분일꺼 같은데...
documnets 클래스로 제작된 녀석을 loader로 불러서 loader.content 요녀석을 documents 클래스로 캐스팅 해서 사용하게 되면 movieClip을 상속한 클래스임에도 불구하고 타임라인이 무시 되는거 같은데...
documents 클래스에 있는 속성을 안쓴다고 가정하고...
loader.content as MovieClip으로 캐스팅 하면... 이게 타임 라인이 또 동작을 하는거 같 -
남은
음... 그래요? 저도 그런줄 알고... 봤는데... documents로 해도... 그 해당 swf는 타임라인에 stop이 먹더라구요. 글구, 사실 아예 새로 loader클래스만 있는 main 하나 만들고 sub 하나 만들어서 테스트 해봤는데... 안되진 않더라구요. 다 되는데... 지금 하고 있는 작업이 프레임워크 단위로 묶어서 만들다 보니... 상속이며, 합성이며 나름 만든다고 만들 것들이 얽히고 섥혀서 그런지... 문제가 되는거 같아여. 현재까지
-
찬
우리가 1프레임이 stop();을 걸면
플래시는
package{
class mainTimeline_as {
function mainTimeline_as{
addFrameScript(1, firstFrameFunction);
}
private function firstFrameFunction():void {
stop();
}
}
}
이런식으 document클래스를 만들거든요 -
말근
이유인즉... loader로 swf를 로드 했는데... 그 swf는 일단... documnet 클래스를 기준으로 코딩이 되었더랬죠...
모션도 없었고...
긍데... 본격적으로 타임라인 모션들이 좀 있고 하다 보니... 문제가 발견된게...;;
타임라인에 액션이 안먹어요..ㅎㅎ
--------------------------------------------------------------------------------------------- -
LimeTree
아녜요... 제가 질문 내용이 부족한거겠죠..;;; 음... flex에 대한 부분을 잘 모르니... 저게 왜 있는지 조차도 레퍼런스를 읽어봐도 그다지 와 닿지가 않네요..
-
핫자두
아 제가 잘못 생각 했군요 죄송합니다.
-
겨울바람
그 이후, 타임라인을 제어할 일이 생겨서 작업을 했는데...
그 파일은 타임라인에 stop(); 같은게 먹히는데...
main에서 로드를 하면 stop같은게 무시가 된다는거죠.
그래서 이유를 찾아보니깐... 저게 업데이트 되면서 문제가 생긴거 같은데... 원인을 모르겠다는거예요.
어떤 코딩을 추가할 때, 저게 업데이트 됐는지도 현 시점에선 체크가 안되서, 코드 하나씩 뜯어보고는 있구요. -
달달한캔디
음... 그거의 개념은 알고 있는데요. 저 SpriteAssets 이란 녀석이 단순히 Sprite를 확장한 클래스라는건지... 뭔가 특별한 역할을 하는건지... 찾아보니깐.. flex 레퍼런스에 내용이 있긴 한데... 어떨때 쓰이는건지... 퍼블리싱할때, 뭐때문에 저게 업데이트 되어야 한다고 업데이트 되는지... 그런게 궁금한거예요.
제가 의도적으로 SpriteAssets 클래스를 사용했다면 당연히 프레임 생각은 안하고 작업하겠지만...
분명히 사용할 -
해까닥
sprite 와 movieClip의 차이를 먼저 공부하셔야 할듯...
sprite란 편하게 한프레임만 있는 무비클립이라 생각하시면 됩니다.
play , gotoAndStop 이런거 사용 못한답니다.