질문과 답변

Extra Form



@sprite = Sprite.new(@viewport)

@sprite.bitmap = Cache.picture("name")

@sprite.src_rect.set(0 * 29, 0 * 31, 29, 31)

@sprite.x = ..

@sprite.y = balloon.z = ..


을 표시 할 때


@sprite.x, @sprite.y, balloon.z 값들은 언제나 integer로만 표현 가능하더군요.


1.5나 0.4678 처럼 소수점으로 표현을 하고 싶은데


@sprite.x = 0.5 이런 식으로 해도 꼭 반올림 된 1 값으로 되고


@sprite.x += 0.1을 해도 0만 더해집니다.


1픽셀로 처리되는 건 알고 있으나


화면에 표시되는 스프라이트 그림의 x좌표와 y좌표를 소수점으로 변화시키는 방법을 알고 싶습니다.



Comment '5'
  • ?
    허걱 2012.10.24 20:07
    픽셀이 소수점을 지원하지 않기 때문에 x, y 좌표를 직접 소수점으로 변화시킬수는 없습니다.
    비슷하게 한다면 임의의 변수 _x, _y 등에서 소수점으로 변화시키고 그 값을 x, y 에 대입하는 방법등이 있습니다.
  • ?
    77이알 2012.10.25 07:59
    변수에 따로 소수점으로 변화시키고 x y에 대입해도 반올림 된 값이 되는 군요.

    원본 스크립트에 있는 def move로 그림파일을 이동시키면 소수점 이동이 가능하지만

    @sprite = Sprite.new(@viewport)
    @sprite.bitmap = Cache.picture("name")
    ..
    식으로 만들어서 x y를 직접 변화시키려고하면 불가능하네요.

    아마 대기 트릭을 쓰는 듯 한데 ..
  • ?
    허걱 2012.10.25 20:13
    대기트릭같은게 아니라 정수뿐이 없는 픽셀을 소수점으로 변화시키려면 당연히 불가능한거죠.
    안되는걸 되게하지는 못합니다. 안되는걸 되는것처럼 보이게 할 뿐이죠.
    왜 꼭 소수점에 고집하는지 모르겠지만 되는것처럼 보이게 하는 방법은 여러가지가 있습니다.
  • ?
    77이알 2012.10.26 14:44
    그 방법 몇개를 이론적으로라도 알고 싶네요
  • ?
    허걱 2012.10.26 19:25
    그 몇개의 방법중 대표적인 하나가 처음 달았던 댓글의 내용입니다.
    내용이 이해가 안간다면 다시한번 천천히 읽어보고 적용해 본 후, 그래도 모르겠는 부분을 질문해 주시면 답변해 드리겠습니다.

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12448
Board Pagination Prev 1 ... 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 Next
/ 83