見出し画像

アリーナっぽいゲームを作ってみたい 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()


アリーナっぽいゲームのホーム画面っぽいの

この記事が気に入ったらサポートをしてみませんか?