2012-04-12 7 views
1

저는 Flixel에 익숙하지 않습니다. 제 질문이 너무 단순하다면 용서해주십시오.스타일 시트가 작동하지 않습니다

내 질문은 : 난 다음 포토샵을 사용하여 (스탠드, 이동, 사이드 스탠드, 측면 이동) 네 아주 간단한 이미지를 만든 텍스처 패커 (A 스타일 시트 메이커)에 전달 그것은 나에게 이미지 (`의 제작 매우 간단합니다) 여기에 JSON 파일을 추가했습니다 :
http://i.stack.imgur.com/UTi4G.png
그래서 서 픽스 (첫 번째) 인 캐릭터로 Flixel과 함께 사용하고 싶습니다. 애니메이션 이동을 호출하면 마지막 이미지가 사용되지만 예상대로 작동하지 않았습니다. 기본적으로 4 개의 이미지를 모두 한 번에 보여줍니다.
Character.as :

package 
{ 
    import org.flixel.FlxSprite; 

    public class Character extends FlxSprite 
    { 
     [Embed (source="character.png")] 
     private var CharacterGraphic:Class; 
     public function Character(X:Number=0, Y:Number=0) 
     { 
      super(X, Y); 
      loadGraphic(CharacterGraphic, true, false, 53, 54); 
      velocity.y = 100; 
      addAnimation('move_forward', [0, 3], 30, false); 

     } 

    } 
} 

PlayState 클래스 (I이 클래스의 인스턴스를 생성)

override public function create():void{ 
     character = new Character(100, 200); 
     add(character); 

    } 
    override public function update():void{ 
     //for debugging 
     if(character.y == 600){ 
      character.play('move_forward'); 
     } 
     super.update(); 
    } 

그래서 내가 예상 :
첫 번째 이미지 튀어 할
여기에 코드입니다 velocity.y가 600 인 경우 (계속 진행) move_forward 애니메이션이 시작됩니다 (첫 번째 및 마지막 이미지 반복)

출력은 다음과 같습니다.
4 개의 이미지가 모두 나타나고 velocity.y == 60 일 때 아무 일도 일어나지 않습니다.

나는 Actionscript 3와 Flixel (게임 개발!)이 처음 인 이래로 뭔가 실종되었다고 생각합니다.

거의 동일한 단계가 유일한 차이점은 그가 대신 하나의 애니메이션 (적)의 몇 만든 JSON 파일은 여기 http://gotoandlearn.com/play.php?id=139
그것을 확인, 나는 그것을 위해 사용을 못 찾았이다 온라인 자습서를했다 (I 시도 IRC 채널에서 묻지 만 누구도 언급하지 않음), 포럼/튜토리얼에서.

답변

1

첫 번째 문제점은 여러 행에 이미지가있는 것입니다. Flixel은 정사각형의 프레임을 모두 가로로 한 행으로 좋아합니다. 각 프레임에 대해 직사각형 크기를 지정해도 여전히 모든 크기가 같아야하고 가로 행이 하나씩 있어야합니다. 올바르게 조작하면 0에서 3까지의 프레임을 가져야합니다.

이미지/프레임을 변경해야하는 이유는 변경할 프레임에 프레임이 없기 때문입니다. 동일한 변경 사항으로이를 수정해야합니다.

나는 이런 이유로 대부분의 스프라이트 패커를 flixel 프로젝트로 신뢰하지 않는다. 스프라이트 패커는 파일 크기를 최소화하려고하므로 가능한 한 적은 공간에 많은 스프라이트를 밀어 넣어 각 스프라이트가 다른 스프라이트와 크기가 다르게됩니다. 제가 말한 것처럼, Flixel은 스프라이트를 동일한 크기로 모두 한 줄로 좋아합니다.

내가 원하는 것을하는 사람을 찾았습니다 ... 나는 그것이 어떤 프로그램인지 (또는 더 이상 가지고 있지 않다면) 집에 가면 한 번 봐야 할 것입니다. 그 동안 Photoshop을 사용하여 문서의 높이가 가장 높은 스프라이트의 높이가되고 너비가 가장 넓은 스프라이트의 너비 x 시트의 스프라이트 수가됩니다. 그런 다음 각 스프라이트/프레임을 적절한 공간에 배치하십시오.

편집 : JSON 파일이 전혀 필요 없다고 생각합니다. 투명 PNG 만 사용하십시오.

+0

공간이 없기 때문에 각 결과를 15x20 픽셀로 채우겠습니까? – Abdulaziz

+0

더 나은 결과, 두 번째 프레임의 일부분에 한 프레임이 표시됩니다. 그 사이에 공간이 없기 때문에 (저는 짐작하고 있습니다) – Abdulaziz

+0

20x20 사각형을 사용해보십시오. –

관련 문제