본문 바로가기

IT

(8)
[렌파이] 게임 메뉴 GUI 구성 이번 포스팅은 https://cafe.naver.com/vmo/1472 의 내용을 재구성하였다. 키워드: use, transclude 게임 메뉴 화면은 아래와 같이 구성되어 있다. label title과 return 텍스트버튼은 screen game_menu에 귀속된다. game_menu에 screen navigation과 screen preferences를 띄우는 형태다. screen game_menu ㄴ label title ㄴ screen navigation ㄴ screen preferences ㄴ Return 게임 메뉴에 사용되는 이미지 파일은 두 가지다. 1) gui > overlay > game_menu.png 2) gui > game_menu.png 1번 파일은 좌측에 하늘색 선이 들어가있는..
[렌파이] 호감도 창 구현 이번 포스트에서는 게임 화면의 우측 상단에 호감도 창을 구현하는 방법을 설명한다. 호감도 창은 3명의 캐릭터에 대한 이름과 호감도 수치 그리고 호감도 바로 구성되어 있다. init: screen stat_overlay: # 호감도 창 frame: # 호감도 창 테두리와 컨텐츠와의 간격 padding (15, 15) # 호감도 배경 (반투명 - 뒤 2자리 코드가 투명도) background "#4f5a6680" # x, y축 정렬 align (1.0, 0.0) # 호감도 창 크기 xmaximum 250 ymaximum 200 # 텍스트와 호감도 바가 수직으로 배치됨 vbox: text "AA{space=15}[persistent.love[0]]" size 16 bar: value persistent.lov..
[렌파이] 배포 준비 전 확인 사항 게임 개발을 마무리하고 배포 직전에 체크해야 할 부분을 짚어본다. 1. 코드, 미디어 파일 숨기기 PC 버전을 배포하다가 게임 파일 압축을 풀면 소스 코드와 미디어 파일이 그대로 노출되어서 좀 당황스러웠다. 찾아보니 build.classify()를 통해서 빌드 생성할 때 자료들(스크립트, 이미지 등)을 .rpa 확장자로 아카이빙 할 수 있다. options.rpy 파일에 해당 기능을 하는 코드가 주석으로 처리되어 있을 것이다. 이 부분을 수정하면 된다. 아래 코드는 렌파이 문서에서 가져온 코드에 조금 추가하였다. # Declare three archives. build.archive("scripts", "all") build.archive("images", "all") build.archive("medi..
[렌파이] 움짤(Animated Image) 넣기 렌파이는 움짤(.gif)을 지원하지 않는다. 그래서 움직이는 이미지를 만들려면 프레임마다 이미지를 나눈 후, 순차적으로 보여줘야 한다. 이번 글에서 사용할 에셋들은 아래 사이트에서 가져왔다. craftpix.net/freebies/free-wraith-tiny-style-2d-sprites/ Free Wraith Tiny Style 2D Sprites - CraftPix.net Free Wraith Tiny Style 2D Sprites is a collection of themed characters for platformer games. They can be good opponents who can hinder craftpix.net 이번 예제에 사용할 에셋은 아래와 같이 구성되어 있다. image ..
[렌파이] 퀵메뉴(Quick Menu) UI 커스텀 퀵메뉴는 게임 진행 화면의 하단부에 있다. 보면 알겠지만 글자가 너무 작고 (내 기준에) 직관적이지 않아서, 퀵메뉴 UI를 커스텀해보기로 한다. 퀵메뉴의 소스는 screens.rpy 파일에 있다. quick_menu() 하위 코드를 변경하면 된다. screens.rpy > quick_menu() 원본 코드 screen quick_menu(): ## Ensure this appears on top of other screens. zorder 100 if quick_menu: ### 수정할 부분 ### hbox: style_prefix "quick" xalign 0.5 yalign 1.0 textbutton _("Back") action Rollback() textbutton _("History") acti..
[렌파이] 삽질한 부분 프로그래머/개발자가 아닌 나, 야매코더는 늘 삽질한다. 1. IOError 렌파이 런처에서 실행할 때는 됐는데, PC 버전이나 안드로이드 배포를 하면 이 에러가 났다! image not found (이미지를 찾을 수 없음) 오류였는데, 해당 경로에 해당 파일이 있는데 왜 오류가 날까 찾아봤더니... 이미지나 오디오 등 파일의 경로를 지정할 때, "./경로/파일명.확장자" 또는 "/경로/파일명.확장자"로 설정되어 있는지 확인해야 한다. 렌파이는 "경로/파일명.확장자" 형태로 저장해야 한다. 2. Persistent - 데이터 보관 1) define 변수명 2) define persistent.변수명 변수를 두 가지 방법으로 선언했을 때, 1)은 게임을 재실행하면 초기화된다. 2)는 초기화 persisten..
[Python] json 파일을 csv 파일로 변환하기 json 파일은 아래와 같이 저장되어 있다. [ {"title": "Oh Boy", "songId": "30179107", "artist": "AOA", "img": "aaa.jpg"}, {"title": "With ELVIS", "songId": "30179108", "artist": "AOA", "img": "bbb.jpg"}, {"title": "Good Luck", "songId": "8181755", "artist": "AOA", "img": "ccc.jpg"}, ... ] json 구성 요소 더보기 1. 배열: 대괄호[]로 표현됨 2. 객체: 중괄호{}로 표현하며, 다수의 요소(속성)을 갖음 3. 요소: 속성으로 부르기도 하며, key:value 형태로 표현됨 "AOA":[ {"title":"..
[Python] Web Crawling for Melon 야매코더이기 때문에 코드가 많이 더럽다. 나중에 정리하자... 1. 목적: 멜론에서 특정 가수의 발매 곡 목록 전부를 크롤링함 (기존 정보들은 대부분 Top 100 차트에 관한 내용) 2. 개발 환경: Python 3.7.3 (확인방법: Anaconda Prompt > python --version 입력) 1) 크롤링 라이브러리: scrapy 2) 크롤링 결과 저장 라이브러리: json # -*- coding: utf-8 -*- import scrapy import json class MySpider(scrapy.Spider): # spider 이름 name = "melon" # 크롤링 시작할 URL 리스트 start_urls = [ #AOA 'https://m2.melon.com/cds/artist/m..