질문과 답변

Extra Form

 

 

 

 

뭔가 질문글만 올리는것같네요...

 

Print 처럼 새창에 글씨만 띄우는것이 아닌, 예시짤처럼 gif그림을 표시한다거나, 별개필드를 구성한다거나 하는건

 

좀 어려울까요? 참고자료같은걸 찾으려 해도 안나오네요 ㅠㅠ

새로 스크립트를 짜려 해도... 매우 힘드네요... 

 

Cap 2016-03-11 22-52-03-285.jpg

 

 

 

■ 질문전 필독!
  • 질문할 내용이 이 게시판이나 강좌에 이미 있는지 확인합니다.
  • 하나의 게시물에는 하나의 질문만 합니다.
  • 제목은 질문의 핵심 내용으로 작성합니다.
  • 질문 내용은 답변자가 쉽게 이해할 수 있도록 최대한 상세하게 작성합니다.
  • 스크립트의 전문이 필요할 경우 txt 파일 등으로 첨부해 주시기 바랍니다.
  • 답변받은 게시물은 삭제하지 않습니다.
  • 답변이 완료된 경우 해당 답변해주신 분들께 감사의 댓글을 달아줍니다.
    • 처음 오신 분들은 공지 게시물을 반드시 읽어주세요!

※ 미준수시 사전경고 없이 게시물을 삭제합니다.

Comment '10'
  • profile
    러닝은빛 2016.03.12 18:27

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    module Kernel
      ShellExecute = Win32API.new('shell32','ShellExecute','lppppl','l')
      def open_file_pic(img)
        ShellExecute.call(0'open''mspaint.exe',"Graphics\\Pictures\\#{img}.png",0,5
      end
    end
     
    open_file_pic('card_life')
    open_file_pic('card_nature')
    cs

     

    그림을 띄우는 것 정도는 ShellExecute 함수로 할 수 있을 듯 하네요.

     

    자세한 내용은 아래 링크를 참고해보세요.

     

    https://msdn.microsoft.com/en-us/library/windows/desktop/bb762153(v=vs.85).aspx

  • ?
    일단 2016.03.12 18:34
    와, 이게 가능한 거군요. 전혀 모르는 분야라서 저로선 응용할 수 없지만, 그래도 신기하네요.
  • profile
    러닝은빛 2016.03.12 20:55

     

    추가 설명을 드리자면 다른 방법도 있습니다.

     

    ShellExecute 는 좀 더 다양한 기능을 제공하지만, 단순 실행이라면 system 메소드를 쓰는게 더 간단합니다.

     

    1
    2
    3
    4
    5
    6
    7
    8
    module Kernel
      def open_file_pic(img)
        system("start Graphics\\Pictures\\#{img}.png")
      end
    end
     
    open_file_pic('card_life')
    open_file_pic('card_nature')
    cs

     

    이렇게 하면 명령 프롬프트에서 쓸 수 있는 명령어를 루비에서도 쓸 수 있게 됩니다.

  • ?
    Sonrxnu 2016.03.12 21:46

    으음... 이렇게 여니까 대표프로그램으로 열리게 되네요...(위는 윈도우즈 자체프로그램이라 그림판이 열리게 되구요..)
    이보다는 게임내의 변수들과 상호작용할 수 있는, 그저 "창"이 떠서 그안에서 놀게하고싶습니다... 힘들까요?

     

    + 혹시 Shellexecute를 쓰려면 C++쪽으로 써야하나요? 

  • ?
    Sonrxnu 2016.03.12 21:48

    물론 제가 gif나 jpg만을 불러서 그안에서만 불러들이는 파일을 만들면 금방 해결되겠지만... 저는 그렇게 능력이 좋지 못합니다 ㅠㅠ

    저는 (가급적이면 맨위의 _ ㅁ X 이 메뉴바가 없는) 창을 새로 띄워서 스크립트를 좀 많이 쓰더라도 게임과 상호작용할수 있는 창을 만들고싶습니다.

    ShellExecute를 좀 만져보면 될것같기도 한데... 어렵네요;; 

  • profile
    러닝은빛 2016.03.12 22:41
    질문 내용 자체가 '새로운 창을 연다' 고만 되어있어서 순전히 파일 실행 예제만을 올린 것입니다. 예제 답변들은 참고용 예제 코드일 뿐이며 복사해서 사용하는 용도가 아니라 해당 API를 설명하는 용도입니다. 실제로는 응용해서 여러가지로 바꿔봐야 할 것입니다. '게임과 상호 작용할 수 있는 창' 그리고 '창이 떠서 놀게 하고 싶다' 와 같은 개념은 탈알만툴 범주에 있는 개념입니다. 윈도우에서 별도의 창을 만드려면 단순 함수로 되는 것이 아니라 프로그래밍이 필요합니다. API, C# 윈폼 등과 같은 언어와 프레임워크로 별도로 프로그래밍을 해야합니다.
    그리고 게임과 상호 작용을 하려면 프로세스 간 통신(IPC) 나 네트워크(TCP/UDP) 같은 개념을 통해 서로 메시지를 주고 받을 수 있어야 합니다. 이에 대한 내용도 사실 프로그래밍과 관련되는 내용이고 간단한 함수로는 구현할 수 없습니다. 이외의 방법으로는 외부에 파일을 만들고 해당 파일에 여러가지 변수값들을 기록해서 그 값을 읽어오는 방법도 있습니다만 '창을 새로 띄운다'는 개념을 구현하려면 일단 별도로 프로그램을 하나 디렉토리에 만들어둬야 합니다.
  • ?
    Sonrxnu 2016.03.13 00:06
    헛! 상세한 답변 감사합니다!!
    저는 알만툴 내에서의 기능으로(혹은 다소의 코드삽입으로) 구현이 될까 싶어서 질문한거였는데, 결국 IPC로 가야하는군요...

    사실 러닝님께서 말씀하신 맨 끝의 방법(물리적 저장 후 불러오기)으로 해보려고 했습니다만, 수정이라던가 상호작용에 너무 커다란 짐이 생겨버려서 포기하려던 참이었습니다... (일방적인 송신만으로도 계획했던 부분은 가능합니다)

    윈도골드로나마 이용해야할것같습니다...
    항상 많은 배움을 얻고갑니다 (_ _)
  • profile
    러닝은빛 2016.03.13 13:02

    원래 루비에서는 소켓이나 파이프 같은 기능이 있어서 코드 만으로 IPC 나 간단한 서버/클라이언트 구현이 가능합니다. 래퍼런스 홈페이지에 들어가보시면 굉장히 간단하게 구현이 가능하다는 것을 잘 알 수 있죠. 하지만 RGSS3 에서는 이유는 모르겠지만 그런 루비의 좋은 기능들 자체를 못쓰게 막아놨습니다. 그래서 대부분은 귀찮지만 Win32API 나 DLL 확장으로 구현하게 됩니다. 그런데 그렇게 하게 되면 구조체가 있으면 C 구조체 크기에 맞게 패킹을 해줘야하기 때문에 약간 귀찮은 감이 있습니다.

  • ?
    Sonrxnu 2016.03.12 21:18
    아아! 러닝님 블로그에서 API관련글은 보았는데, 이제야 이해가 됩니다! 정말 감사합니다!
  • profile
    하얀악어 2016.03.14 13:04
    저같은 경우에는 아예 타이틀 스킵을 이용했습니다. 오프닝 타이틀을 아예 그림으로 다 처리해버리는 것이지요

List of Articles
종류 분류 제목 글쓴이 날짜 조회 수
공지 묻고 답하기 가이드 습작 2014.06.14 12397
RMVXA (해결) 사용한 아이템의 ID를 변수로 받고 싶습니다. 2 file 안나카레리나 2018.08.20 160
RMVXA (해결)플레이어에 방해받지 않고 npc를 이동시키는 방법? 7 sudoxe 2014.01.25 761
이벤트 작성 RMVXA (해결됨) 특정 지형에 있을 때 조사하면 이벤트 실행하게 하는 거 2 file 우좌 2019.09.15 48
RMVXA (해결완)메뉴를 열었을 때 경험치 정보를 표시하고 싶은데 에러가 납니다. 2 file 코코아밀크 2017.01.10 92
RMVXA 0데미지일 때 효과음 나오도록 우켈켈박사 2014.11.17 327
RMVXA 128x192도트 설정 질문입니다. 2 이기피어 2014.01.26 778
RMVXA 1번부터 30번까지 아이템 10개씩 획득? 1 도라란 2014.05.17 578
RMVXA 1보 걸을 때마다 이벤트를 실행시키려면 어떻게 해야 할까요? 6 키보드자판기 2015.07.21 225
RMVXA 1회 자동부활패시브스킬은 2 THOTEP 2012.10.07 1443
RMVXA 1회 클리어 뒤 타이틀 메뉴의 변경 2 ahrp 2013.01.27 915
RMVXA 1회용 이벤트 만드는 방법좀 알려주세요 2 clown1 2012.08.31 1035
RMVXA 2003, vx에서 스크립트로했던 글 기능확장(색깔,정렬 등) 4 반내림 2013.10.14 914
RMVXA 2k 에서 쓰는 사이드 전투 방식을 vx ace에서 하고싶은데요 4 일류 2012.04.29 2557
RMVXA 2가지 버그를 발견했습니다. 2 빙룡군 2012.01.14 3138
RMVXA 2차원 배열 선언 및 사용법좀 알려주세요. 10 A구몽 2016.04.01 269
RMVXA 2회차 3회차 같은거... 1 해지등 2016.10.27 285
스크립트 사용 RMVXA 4개 이상 선택지 스크립트 오류 3 file 무해 2021.12.28 88
RMVXA 5인 이상의 파티원을 마음대로 변경하고 싶습니다.(KGC아니고) 1 나오프 2014.05.03 616
RMVXA 640X480 해상도시 전투돌입화면에 대한 질문입니다. 4 file 미리아르도 2013.06.06 1160
RMVXA 8방향 .적용방법을 모르겠어요.. 3 뉴트리리 2015.01.03 229
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 149 Next
/ 149