前提・実現したいこと
プログラミング初心者です。
Pythonのprint()機能を用いて作った、ターミナル上でのみ動く自作のテキストベースゲームがあります。
これを他のプラットフォーム(ブラウザゲーム、スマホアプリ等)でもプレイできるようにしたいと考えていますが、まずはAndroidアプリにしてみたいと考えています。
作りたいもののイメージとしてはこんな感じです。
外部サイト AI Dungeon 2
発生している問題
ターミナルのように文字列を順次表示していくGUIをアプリで再現するにはどうすればよいのかが分からずに困っています。
該当のソースコード
Python3.7
1from kivy.app import App 2from kivy.uix.boxlayout import BoxLayout 3from kivy.uix.label import Label 4from kivy.uix.button import Button 5import japanize_kivy 6 7class TerminalLabel(Label): 8 text = "ここに文章を表示する" 9 10class LayoutApp(App): 11 def build(self): 12 layout = BoxLayout(orientation = "vertical") 13 L1 = TerminalLabel(font_size = "35sp", size_hint_y = 5) 14 B1 = Button(text = "ボタン1", font_size = "20sp", size_hint_y = 0.5) 15 layout.add_widget(L1) 16 layout.add_widget(B1) 17 return(layout) 18 19LayoutApp().run() 20 21# これを .run() している状態で8行目の text を変更していけば文章を次々に変えていけそうな気がする...
試したこと
上記のように、KivyのLabel機能を使って文字列を表示してテキストを変更していけば、疑似的にターミナルのように文章を流していけるかと思ったのですが、アプリを .run() している状態で text を変更する方法が分かりませんでした。
この機能はあくまでもラベルの名称なので、リアルタイムに文字列を追加したり変更したりする用途では使用できないのだと認識しました。
Kivyの他ウィジェットにも文章表示に該当するようなものを見つけることができなかったので、自分のやりたいことはKivyでは難しいのかと感じていますが、初心者なのでその認識が正しいのか自信がない状態です。
Kivyを使って、またはそれ以外の方法で、「Pythonを用いてAndroidアプリでターミナルのように文字列を順次表示するGUI」を作成する方法をご存知の方がいましたらご教授願いたいと思います。よろしくお願いいたします。
補足情報
環境
プログラミング言語 Python3.7
OS Windows10
エディタ Visual Studio Code
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/02 09:45
2020/02/02 10:00