2011-04-19 3 views
2

나는 아무 이유없이 다르게 작업하기를 좋아하는 끔찍한, 나쁜 사람이기 때문에 mySprite.graphics.drawText (...)와 같은 작업을 수행하고 싶습니다.as3 - 텍스트를 Sprite.graphics로 바로 렌더링 하시겠습니까?

나는 텍스트를 얻는 유일한 방법은 TextField를 만들고이를 mySprite의 자식으로 추가하는 것입니다. 내 특별한 상황에서 나는 그렇게하지 않을 것입니다.

감사합니다. 당신은 단순히, Sprite 클래스를 확장 여기에 함수 DrawText에 추가 할 스프라이트의 방법을 마무리하고 싶었다면

OOO

+0

왜 당신이 글꼴을 사용 OER 문자를 그리려는 것 C? –

+0

나는 아이들이없는 스프라이트를 갖고 싶다. –

+0

나는 승천 시스템 (Ascension Systems)이 당신에게 준 답변으로 갈 것입니다. 그것은 당신에게 chidlren이없는 "평평한"스프라이트를 줄 것입니다. –

답변

0

. 그 방법 내에서 TextField 등을 추가하십시오.하지만 원하는대로 들리지는 않습니다. 여기에 보면 그들은 글꼴, 잘하지 않고 글꼴을 렌더링 할 수있는 코드의 컬렉션을 만들었습니다 http://lab.polygonal.de/?p=916

이있는 경우

. 파일 크기와 같은 단점이 있지만 가능합니다.

+0

고마워, 꽤 좋아 보인다! –

+0

문제 없어요, 도움이 되었으면 좋겠어요 – Chris

+0

죄송합니다 downvote,하지만이 대답은 정말 엉뚱한 방향으로 길 찾기를 조종하지 않습니다. 여기에 대한 또 다른 대답은 직접적이고 정확한 방법입니다. – iND

7

잘못된 bzzzzzzzt 새로운 BitmapData 객체를 만들고 비트 맵을 만들고 bitmapData를 추가 한 다음 해당 비트 맵을 하위로 스프라이트에 추가합니다. 예 : 당신이 그것을 적용해야하지만 원칙은 프로젝트에 적응하기 위해 충분히 명확보다 더해야한다, 그래서

var myTextImage:BitmapData = new BitmapData(textField.width, textField.height, true, 0x000000ff); 

myTextImage.draw(textField); 

mySprite.addChild(new Bitmap(myTextImage)); 

stage.addChild(mySprite); 

나는 그냥 그 코드를했다.

+0

이렇게하면 textField 객체를 만들고 텍스트를 쓰지 만 귀하의 스프라이트에 추가하지 마십시오. 그냥 그리면 textField를 지우고 지울 수 있습니다.스프라이트에 추가하는 것은 그 텍스트가 그려진 비트 맵입니다. –

+0

감사합니다. 이는 텍스트 필드 자체를 추가하는 것보다 약간 더 재미있는 접근법입니다. 나는 더 분명히해야했다. - 나의 희망은 어떤 종류의 아이도 추가하는 것이 아니었다. 나는 비트 맵 데이터에 텍스트 필드를 그릴 수 있고 beginBitmapFill을 통해 내 스프라이트의 그래픽에 넣을 수 있다고 생각한다. –

+0

이 답변이 가장 좋은 방법입니다. – iND

6

새의 BitmapData 객체 생성 : bitmapdata.draw(txt);

을 그리고 그래픽 클래스를 사용하고 작동 : bitmapdata = new BitmapData(txt.width, txt.height, true, 0x000000ff);

그것에 당신의 텍스트 필드를 그리기를!

sprite.graphics.beginBitmapFill(bitmapdata); 
sprite.graphics.drawRect(0,0,txt.width,txt.height); 
sprite.graphics.endFill(); 

나중에

+0

에는 복사하여 붙여 넣을 수있는 전체 코드가 있습니다. 그래서 나는 너의 뜻을 이해할 수있다. 감사. – DevelopmentBucket

관련 문제