[PYTHON] Ich habe mit Ren’py ein Einführungsspiel für das Schulfest gemacht

Einführung

Ich bin verantwortlich für den 5. Tag des Adventskalenders 2019 der Kinki University. Dieses Mal habe ich mit Ren'py ein Spiel gemacht, das das Ikoma Festival vorstellt, das jedes Jahr an der Kinki Universität stattfindet. Ich wünschte, ich könnte die Grammatik teilen, die ich damals gelernt habe.

Die Ergebnisse finden Sie unter der folgenden URL. https://drive.google.com/drive/u/2/folders/1CVx17S12MDS8VLIsH4Q2Iu4C5U93vYC_

Auch Github ist unten. https://github.com/niya1123/Short-Novel/tree/dev

Die Grundlagen der Herstellung von Ren'py-Spielen

Dieses Mal werden der DL von Ren'py selbst und das Erstellen eines Projekts in ** Vorheriger Artikel ** vorgestellt. Bitte geh.

Wie schreibe ich Zeilen

Führen Sie die folgenden Schritte aus, um eine Zeile zu schreiben.

  1. Überlegen Sie, ob es sich um den Dialog, die Einsamkeit oder die Erzählung eines Charakters handelt.
  2. Ersteres definiert den Charakter. Letzteres muss nicht definiert werden.
  3. Schreiben Sie die Definition in script.py.

Insbesondere ist es wie folgt.

script.rpy


#Zeichendefinition Definieren Sie den Zeichennamen= Character("Charaktername", color="Stellen Sie die Farbe hexadezimal ein")
#Es wird empfohlen, den Zeichennamen unmittelbar nach der Definition grundsätzlich mit einem Zeichen oder einem verkürzten Namen des Zeichennamens zu definieren..
#Farbe ist die Farbe des Zeichennamens, der im Textfeld angezeigt wird.
define character = Character("Charakter", color="#c8ffc8")

#Wenn das Spiel startet, startet es vom Label-Start.
label start:
    #Kurzname des Charakters"Dialog"でDialogの表示
    character "Hallo!"

    #Ich muss den Charakternamen setzen,Erzählung.
    "Es wird Hallo erzählt"

    #Etikettenende mit Rücksendung.
    return

Zeichenbildeinstellungen

Stellen Sie das Zeichenbild wie folgt ein.

script.rpy


#Abkürzung
label start:
    
    show character default
    with fade
    
    character "Hallo!"

    return
    

Was Sie hier beachten sollten, ist die Zeichenfolge nach der Show. Hier wird das Bild angezeigt, indem Sie den Dateinamen eines beliebigen Bildes angeben.

Und es gibt eine empfohlene Namenskonvention für Bildnamen, zum Beispiel "bg green.jpg (Bg Green.jpg ist ebenfalls akzeptabel)", wobei "bg" das Tag und "green" das Attribut ist. Andere mögliche Namen sind wie folgt.

script.rpy


#bg ist das Tag und Grün und Haus sind die Attribute
show bg green house

Wenn gleichzeitig Bilder mit demselben Tag angegeben werden, wird das zuletzt angegebene Bild angezeigt.

Als nächstes gibt es "mit Überblendung", was ein Übergang ist.

Weitere Informationen finden Sie im Folgenden (da es viele gibt).

https://ja.renpy.org/doc/html/quickstart.html#transitions

Verwenden von Python-Skripten

Ren'py kann Python-Skripte verwenden (Python2-Serie). Obwohl dies noch nicht offiziell angekündigt wurde, besteht die Möglichkeit, dass Python der 3er-Serie in Zukunft verwendet werden kann. (Referenz: https: // twitter .com / renpytom / status / 1196203607252709376? S = 20)

Dann werde ich erklären, wie man es benutzt.

script.rpy



default flag = False

label start:

    menu:
        "Möchten Sie Ihre Gefühle vermitteln??"
        "Ja":
            $ flag = True
        "Nein":
    jump flag
    return

label flag:
    if not flag:
        "Bad End"
    else:
        "Good End"

    return

Es sind verschiedene neue Elemente herausgekommen. Ich werde sie der Reihe nach erklären.

Zunächst gibt es eine Standardanweisung, mit der die Variable, die Sie verwenden möchten, vor dem Startetikett initialisiert wird. Es ist nicht erforderlich, aber in diesem Fall wird Flase automatisch als Anfangswert hinzugefügt, wenn Sie eine Variable in label verwenden.

Dann gibt es das Menü im Startetikett.

script.rpy


Abkürzung
    menu:
        "Wähle eine Option"
        "Ja":
            jump yes
        "Nein":
            jump no

Die Verwendung ist wie folgt, es ist nicht erforderlich, einen Erzählteil zu haben. " Auswahl ": Ich werde es schreiben. Danach können Sie den Prozess einrücken und schreiben. Dieser Bereich ist der gleiche wie Python Sie können den Sprung auf "Sprung-Label-Name, den Sie überspringen möchten" setzen, und der Prozess springt zu dem Label, das Sie springen möchten. Wenn dieses Label mit "return" endet, kehrt der Prozess erneut zurück.

Als nächstes $ flag = True, aber Sie können Python-Code mit nur einer Zeile nach $ schreiben. Wenn Sie Code über mehrere Zeilen schreiben möchten, können Sie Folgendes schreiben:

script.rpy


python:
    life = 100
    damage = 50
    my_life = life - damage

Als nächstes folgt die if-Anweisung. Die if-Anweisung kann unverändert verwendet werden, ohne $ oder Python zu verwenden.

Wenn Sie die oben genannten Grundlagen berücksichtigen, können Sie mit Ren'py auch neuartige Spiele erstellen !!!!

Ren'py Game Making-Anwendung

Ab hier ist es eine kleine Anwendung.

Ändern wir zunächst den Standardstartbildschirm von Ren'py.

Der Standardbildschirm sieht folgendermaßen aus. スクリーンショット 2019-12-05 15.49.42.png

Stellen wir den Blautest unten rechts auf Ren'py und die Farbe auf Orange (# f59e11).![Screenshot 2019-12-05 20.49.55.png](https: // qiita-image) -store.s3.ap-northeast-1.amazonaws.com/0/274354/ee736739-8a81-6410-56f6-9db2ed2cf0e8.png)

Die zu ändernden Punkte sind wie folgt.

options.rpy(Um die 16. Linie)


define config.name = _("test")
#Ändern Sie dies in
define config.name = _("Ren'py")

gui.rpy(Um die Linie 28)


define gui.accent_color = '#0099cc'
#Ändern Sie dies in
define gui.accent_color = '#f59e11'

Ändern Sie dann das Bild des Menüs.

gui.rpy(Um die Linie 96)


define gui.main_menu_background = "gui/main_menu.png "
#Ändern Sie dies in
define gui.main_menu_background = "gui/main_susuki.png "

Wenn Sie es ändern, wird es so aussehen. (Diesmal stimmt die Bildgröße nicht überein, aber lassen Sie uns das Bild an die Größe des Spiels in der Produktion anpassen.)

スクリーンショット 2019-12-05 20.58.10.png

Schließlich

Um ehrlich zu sein, ich habe viel gebrochen, aber wenn Sie so weit verstehen, können Sie meiner Meinung nach so viele Ergebnisse erzielen, wie Sie gemacht haben. Bitte versuchen Sie etwas mit Ren'py zu machen!

Referenzseite

https://ja.renpy.org/doc/html/index.html

Recommended Posts

Ich habe mit Ren’py ein Einführungsspiel für das Schulfest gemacht
〇✕ Ich habe ein Spiel gemacht
Ich habe einen Line-Bot mit Python gemacht!
Ich habe ein Spiel namens Battle Ship mit Pygame und Tkinter gemacht
Anfänger: Ich habe einen Launcher mit dem Wörterbuch erstellt
Ich habe ein Lebensspiel mit Numpy gemacht
Ich habe mit Python ein schurkenhaftes Spiel gemacht
Ich habe ein ○ ✕ Spiel mit TensorFlow gemacht
Ich habe mit Python ein Bin-Picking-Spiel gemacht
Ich habe einen Anmelde- / Abmeldevorgang mit Python's Bottle durchgeführt.
Ich habe mit Python ein Weihnachtsbaum-Beleuchtungsspiel gemacht
Ich habe mit Sense HAT ein gefallenes Monospiel gemacht
[Ich habe versucht, Pythonista 3 zu verwenden] Einführung
Ich habe einen Python-Text gemacht
Ich habe einen Zwietrachtbot gemacht
Ich habe ein einfaches Tippspiel mit tkinter of Python gemacht
Ich habe einen schnellen Feed-Reader mit Feedparser in Python erstellt
Ich habe eine einfache Buch-App mit Python + Flask ~ Introduction ~ erstellt
Ich habe ein Numer0n-Kampfspiel in Java gemacht (ich habe auch KI gemacht)
Ich habe ein VGG16-Modell mit TensorFlow gemacht (unterwegs)
Ich habe mit Tkinter of Python ein Puzzlespiel (wie) gemacht
Ich habe mit dem Qore SDK eine App zum Schätzen des Muskeltrainings erstellt
Ich habe Chatbot mit LINE Messaging API und Python erstellt
Ich habe eine C ++ - Lernseite erstellt
Ich habe ein CUI-basiertes Übersetzungsskript erstellt (2)
Ich habe einen Wikipedia Gacha Bot gemacht
Ich habe mit Python eine Lotterie gemacht.
Ich habe ein CUI-basiertes Übersetzungsskript erstellt
Zura machte wie ein Lebensspiel
Ich habe mit der TensorFlow-④-Gesichtsextraktion einen Dir en grey-Gesichtsklassifikator erstellt
Ich habe mit Python einen Daemon erstellt
Ich habe Chatbot mit der LINE Messaging API und Python (2) ~ Server ~ erstellt
[Kaggle] Ich habe mit dem Titanic-Tutorial eine Sammlung von Problemen erstellt
Ich habe mit dem TensorFlow --⑩ Gesichtsklassifizierungstest einen Dir-Grau-Gesichtsklassifikator erstellt
Ich habe mit dem Lernprogramm TensorFlow --⑥ einen Dir en grey face-Klassifikator erstellt
Ich habe mit TensorFlow - Dir Playing (final) einen Dir en grey face-Klassifikator erstellt.
Ich habe mit TensorFlow --⑧ Learning Execution einen Dir en Grey Face Classifier erstellt
Ich habe mit TensorFlow --⑫ Web Release einen Dir en Grey Face Classifier erstellt
Ich habe mit dem TensorFlow --⑦ Lernmodell einen Dir en grey Gesichtsklassifikator erstellt
Erstellt ein Bildunterscheidungsmodell (cifar10) unter Verwendung eines Faltungs-Neuronalen Netzwerks
Ich habe einen neuen AWS S3-Eimer hergestellt
Ich habe ein Dash-Docset für Holoviews erstellt
Ich habe ein Pay-Management-Programm in Python erstellt!
Ich berührte "Orator" und machte mir eine Notiz
Ich habe mit Python einen Zeichenzähler erstellt
Ich habe versucht, mit einer Schildkröte eine Linie zu ziehen
Ich habe einen Gesprächspartner wie Siri gemacht
Ich habe ein Skript erstellt, um Piktogramme anzuzeigen
Ich habe mit Python eine Hex-Map erstellt
Ich habe einen Hanko-Generator mit GAN gemacht
Ich habe ein automatisches Stempelwerkzeug für den Browser erstellt.
Nachdem ich Python3 studiert hatte, machte ich einen Slackbot
Ich habe versucht, pipenv zu verwenden, machen Sie sich also eine Notiz
Ich habe mit Python einen einfachen Blackjack gemacht
Ich habe mit Python eine Einstellungsdatei erstellt
Ich habe eine Bibliothek für versicherungsmathematische Versicherungen erstellt
Ich habe eine WEB-Bewerbung bei Django gemacht
Ich habe mit Python einen Neuronensimulator erstellt
Ich habe einen LINE BOT erstellt, der mithilfe der Flickr-API ein Bild von Reis-Terroristen zurückgibt
Ich habe mit TensorFlow --⑪ Web Release Preparation einen Dir en Grey Face Classifier erstellt