2011-10-10 3 views
2

저는 최근에 여러 가지 다른 프로그래밍 언어로 작업 해 왔으며 Actionscript의 표시 목록이 마음에 들지 않는다는 결론을 얻었습니다. 차라리 업데이트/그리기 루프를 사용하고 XNA (C#)와 같이 수동으로 모든 것을 그리고 관리합니다. 내가 액션 스크립트에서 좋아하는 것은 이벤트, 영화 클립 애니메이션 및 벡터 그래픽의 사용 용이성입니다.표시 목록이없는 액션 스크립트 (업데이트/루프 그리기)

어떤 이유가 있을까요? 애니메이션 동영상 클립을 사용할 수 있기를 정말로 원합니다.하지만 표시 목록이 없으면 불가능할 것이라고 생각합니다. 따라서 스프라이트 시트가있는 내 애니메이션 시스템을 작성하여 해결할 수 있습니다. 전체 이벤트 시스템을 다시 작성하는 것은 제가 기대하지는 않습니다. 표시 목록없이 작동하는 (molehill) 프레임 워크가 있습니까?

+0

추상화를 염두에두고 시스템을 구성하면 표시 목록을 사용하고 있다는 사실조차 알지 못합니다. 왜 그렇게 괴롭습니까? ;) –

+1

원하는 경우 표시 목록을 추상화 할 수는 있지만 자신의 게임 루프를 만들 수는 없습니다. 이는 15 초의 스크립트 시간 제한을 빨리 초과 할 것이므로 Flash에서는 아무 것도 다시 그릴 수 없습니다. 또한 잠자기 할 방법이 없으므로 루프는 가능한 한 빨리 실행되어 아무런 재미가 없었더라도 CPU 코어를 100 % 빨아들입니다. – Cameron

+0

그렇습니다. 저는 실제로 자체 루프를 만드는 방법을 모색하고 있지 않습니다. 단지 프레임 입력 이벤트를 사용하는 것이 좋습니다. 디스플레이 목록을 사용하고 싶지는 않지만 배열의 모든 항목을 잡고 수동으로 직접 업데이트/그리기하십시오. 나는 당신이 추상적 인 의미로 무엇을 의미하는지 모르겠습니다. – omgnoseat

답변

2

스테이지와 동일한 크기의 비트 맵을 만들어 스테이지에 어린이로 첨부하고 모든 프레임에 그래픽을 블리핑하여 "화면"처럼 사용할 수 있습니다 (ENTER_FRAME 이벤트 사용).). 많은 수의 객체를 효율적으로 애니메이션화하는 방법으로 공식 Adobe 문서의 어딘가에서 언급 된 것 같습니다.

+0

예 이것을 보았지만 블리 팅을 사용하면 영화 클립이나 이벤트 리스너를 사용할 수 없게됩니다. ( – omgnoseat

+0

@omgnoseat 아무 것도 없기 때문에 Bitmap에 이벤트 리스너를 등록 할 수 없습니다.이 경우 MovieClips를 사용한 적이 없지만 사실, 새로운 스프라이트 인'sprite.addChild (textfield)'와'bitmap.bitmapData.draw (스프라이트)'를 만들어서 TextField를 비트 맵에 그릴 수 있습니다. 그것은 MC를 위해 작동해야하지만, 그것, 성능/노력 - 현명한. – Staven

+0

@omgnoseat 여기를 참조하십시오 : http://www.adobe.com/devnet/flash/articles/blitting_mc.html – Staven

1

나는 ActionScript로 프로그래밍 할 때 용기를 북돋고 C#을 놓아 줄 것을 권합니다. 비얀 스트로브 스트 룹 현명하게 자신의 책 은 C++ 프로그래밍 언어에서 말했듯이 : 다른 일반적 에 하나 개의 언어에 효과적인 기술을 적용 ...

실적이 저조 어색로 연결하고, 코드를 하드에-유지한다. 또한 코드는 모든 코드 행과 모든 컴파일러 오류 메시지가 언어가 이 '이전 언어'와 다른 점을 프로그래머에게 상기시키기 때문에 가장 쓰기가 어렵습니다. [다른 언어]의 스타일로 쓸 수도 있지만, 다른 철학을 가진 언어로는 쾌적하거나 경제적이지 않습니다.

나는 이것이 당신이 여기서 묻고있는 질문에 아주 잘 적용된다고 생각합니다.

+0

나는 그것이 사실이라고 생각하지만, 나는 그것이 움직이지 않고 달성 될 수 있었으면 좋겠다. 플래시의 핵심에서 너무 멀리 떨어져있다. – omgnoseat