2013-02-25 1 views
0

나는 간단한 게임을 만들고있어, 캐릭터를 아주 커스터마이징 할 수있게하고 싶다. 예를 들어, 플레이어가 시안 색 피부를 가지고 싶거나, 방금 슬라이더에 넣고 싶거나, 내가 선택한 것을 "0,255,255"또는 보라색 "255"와 같이 색으로 완전히 편집 할 수 있기를 원합니다. , 0,255 "또는 무언가"25,125, 156 "과 같은 문자를 그 색상으로 사용하십시오. 나는 게임을 만들기 시작도하지 않았지만 근본적인 문제를 짚어 봤고, 이것을 제외하고는 거의 모든 것을 위해해야 ​​할 일을 정확히 알고 있습니다.PYGAME - 숫자 파이썬없이 이미지의 색을 편집합니다 (흰색을 255,0,0로 만듭니다)?

Google에서 검색을했는데 숫자 형 파이썬이 필요합니다. 이것은 완전히 새로운 패키지입니다. 일반 플레이어가 게임을하기 위해서는 EXE 형식으로 변경해야합니다 ... (또는 Python, Pygame 및 수치 형 Python을 PC에 설치하면 문제가됩니다. 최신 버전 ...). 자, 파이 게임으로 이미 복잡 해지고 있습니다 만 수치 파이썬에서도이 작업을 수행하는 방법에 대한 자습서가 있습니까?

제안 사항? 감사!

+0

기본적으로 플레이어가 런타임에 색상을 이동할 수있는 비트 맵을 만들고 싶습니까? –

+0

: 나는 대답을 찾았습니다 : http://gamedev.stackexchange.com/questions/26550/how-can-a-pygame-image-be-colored –

+0

예,하지만 대답은 수치적인 파이썬에 관한 것입니다. 나는하지 않고 말했다. 더 많은 프로그램을로드하는 것을 배우는 것과 같이, 내 프로그램을 exe로 변환 할 수 없다는 느낌이 들지 않습니다. 모든 사람들이 그것을 실행할 수 있기를 바랍니다. – Bluetiger6001

답변

0

물론 무작위로 방법을 사용할 수 있습니다. 파이 게임 표면에서 색상을 다른 것으로 대체하는 기능이 있습니다. 당신이 pygame.Surface을 의미

def color_replace(surface, find_color, replace_color): 
    for x in range(surface.get_size()[0]): 
     for y in range(surface.get_size()[1]): 
      if surface.get_at([x, y]) == find_color: 
       surface.set_at([x, y], replace_color) 
    return surface 
0

나는 image으로 가정합니다.

  • pygame.Surface.set_at(...)
  • 는 팔레트 화면을 사용하여 당신은 몇 가지 옵션이 있습니다. 그런 다음 팔레트를 변경하십시오. 귀하의 유스 케이스에 따라, 이것은 아마도 내가 제안 할 것입니다.
  • pygame.PixelArray PyGame 모듈을 사용하십시오. Idon't는 를 생각한다 그것은 NumPy를 필요로한다.
  • NumPy를 사용하기 만하면됩니다. 실제로 엄청난 요구 사항은 아닙니다. 프로젝트가 많이 필요하고 설치가 간단합니다. 강력한 pygame.surfarray 모듈에 액세스 할 수 있습니다.
관련 문제