忍者ブログ
はじかきれんしゅうちょう いろいろ
Admin  +   Write
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

◇変数

変数は「$」。
 $ turn = 5 #代入。 
    $ hensu += 1  #今ある数字に足す ※

※なんでか【同じラべル内】で宣言してからじゃないとうまくきかなかったことがあった。
宣言=事前に    $ hensu = 0 を入れておくこと


また、マニュアルより文字列も入れられる。
セリフの中で出すときは[food] のように囲む。
    $ food = "アップルソース"
    "[food] でお願いします。" #セリフ

グローバル変数(クリアデータとかを管理できる)はpersistent.◯◯だそうです。
    $ persistent.finished = True

TrueとFalseもできるぞい。
これを使って、ifで分岐ができます。
persisitentの方のIFはなんか違う書き方するみたいなんで→ここを見てね。


【追記】あと、ifの時とかに使うであろう演算子。
renpyじゃなくてpythonで調べた時に出たやつだけど多分使えるはずなのでメモ。

###演算子
x > 0 #ゼロより大きければTRUE
x < y #xがyより小さければTrue
x <= y #xがyより小さいか等しければTrue

x > y #xがyより大きければTrue
x >= y #xがyより大きいか等しければTrue

x == y #xとyの値が等しければTrue
x != y #xとyの値が等しくなければTrue


◇変数による会話パターン分岐(IFをつかう)

 「共通ルートシナリオの中なんだけどもある場面でルートによって別のキャラがしゃべる」
 みたいな例です。要はフラグがあるときのみ聞ける会話みたいなのの発展?
 変数food0が1、2,3のときでif分岐してルート(に変数入れて)きまって、
 そのあとルートの変数でif分岐してセリフパターンで軽めに分岐して
 合流な流れのスクリプトが下の例です。(うーん説明になってなさげ)

 シナリオ抜粋なのでキャラ名とかそのまま・・・ノイズだと思いますがすみません。
 また、サンプルスクリプト内ではセリフ話者の指定とかは省いています。

#変数の数字によって別の変数に数字を入れときます。(ややこしい例になっちゃったな)
    if food0 == 1: #変数:food0は1でしょうか?
        $ route = 1  #ヒヤツグルート #変数:routeに1を入れる。
    elif food0 == 2: #それとも変数:food0は2でしょうか?
        $ route = 2 #フヨウルート #変数:routeに2を入れる。
    elif food0 == 3:  #それとも変数:food0は2でしょうか?
        $ route = 3  #リムファルート #変数:routeに3を入れる。
label pro17: #予選結果~★分岐あり
    scene bg06
    with fade 
    ns "予選課題の提出期間が終了しました。今日これから、再び集められた参加者の前で、結果が発表されます。"
  
    m1 "エントリーナンバー2!  フヨウ!"
    m1 "次! エントリーナンバー29! リムファ!"
    m1 "続いて! エントリーナンバー37!ヒヤツグ!"
    m1 "そして! 48番!"
    
    if route == 1:#ヒヤツグ
        m1 "肉への慈しみが感じられました! 歓喜の小籠包、ニオ!"
        ar "よし!"        
        hy "お、あの子だ。ニオって名前だったのか。"     
  
    elif route == 2:#フヨウ
        m1 "小麦へのこだわりが光りました! 万来の小籠包、ニオ!"
        ar "やったね!"     
        ng "あいつか……。なるほど、名前ぐらいは覚えておいたほうが\nよさそうだ。"

    elif route == 3:#リムファ
        m1 "香辛料の創意工夫が、懐かしくもハイセンス! \n革新の小籠包、ニオ!"
        ar "よかった! 予選突破だ!"     
        rm "ふーん、やるじゃない。あの子も予選通ったんだ。" 
 
label pro18: #説明
    m1 "以上! 名前を呼ばれた方で、本戦の材料費について補助を希望する場合は居残りをお願いします!"

すげ~~わかりにくいと思うんですが、
ルートに入る予定のキャラからひと言もらえるようなそんな感じになってます。
で、elifでインデントされた中までが終わったらlabel pro18 まで飛んでくれます。
それぞれ上からダーって再生されちゃう……みたいなことがないの。すごいね。

もちろんインデントの中にjumpを入れて別ラベルに飛ばせば普通に(?)
大掛かりな分岐もできます。
あっ、IF判定かけたい変数がIFんとこで初登場するとエラーになるので
スクリプト内にあらじめ使う変数を宣言しといてね。   

    $ food0 = 0 
    $ route = 0 
頭にでも。
PR
Comment
color
name
subject
mail
url
comment
pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
ブログ内検索
このブログについて
ゲーム作りたい人のメモ。
講座というほどのものでもないおぼえがきです。
何か参考になるところがあればご自由にどうぞ。
ほぼ自分用なので、日本語いきあたりばったりでごめんなまし。

※ここに書いたことは全体的に
「本当はなんとかする方法があるかもしれないけど、私にはわからない」が多く…
あんまり仕組みを理解していないし誤解もあるかもしれません。
というわけで責任は負いません。ごめんなさい!

リンク:ゲーム作ってる本館
material by bee  /  web*citron
忍者ブログ [PR]