アリーナっぽいゲームを作ってみたい Part 1 背景の切り替え
まずは簡単そうな選択画面から。場面数は初期画面のメイン画面、武器や防具を購入する武具店画面、魔法スキルを獲得する魔法ギルド画面、ステータスを上げる訓練所画面、大会に出場するコロシアム画面の五つ。本家のアリーナとは名称が違うのは気にしないでほしい。
画面サイズは16:9の比率を準拠して800X450。kvファイル
で書いたコードはこんな感じ。
arena.py
from kivy.config import Config
Config.set('graphics','width','800')
Config.set('graphics','height','450')
from kivy.lang import Builder
from kivy.uix.widget import Widget
from kivy.properties import StringProperty
from kivy.app import App
Builder.load_file("Arena.kv")
class Menu(Widget):
BG = StringProperty("bg\main.png")
BGs = [("bg\main.png"),("bg\shop.png"),
("bg\guild.png"),("bg\gym.png"),
("bg\colosseum.png")]
def place_W(self):
self.BG = self.BGs[1]
def place_M(self):
self.BG = self.BGs[2]
def place_G(self):
self.BG = self.BGs[3]
def place_C(self):
self.BG = self.BGs[4]
def return_M(self):
self.BG = self.BGs[0]
class MainApp(App):
def build(self):
return Menu()
MainApp().run()
Arena.kv
<Menu>:
Image:
source:root.BG
size:root.size
BoxLayout:
orientation:'vertical'
size:root.size
BoxLayout:
BoxLayout:
orientation:'horizontal'
size_hint: 1,.2
Button:
text: 'Weapon Shop'
on_press: root.place_W()
Button:
text: 'Magic Guild'
on_press: root.place_M()
Button:
text: 'Gym'
on_press: root.place_G()
Button:
text: 'Colosseum'
on_press: root.place_C()
Button:
text: 'Main'
on_press: root.return_M()
この記事が気に入ったらサポートをしてみませんか?