Top(FrontPage)
トップページへ
[
一覧
|
検索
|
最終更新
] [
差分
|
履歴
]
ツール
ヘルプ
新規
開始行:
*チュートリアル3.変数を使ってみよう [#kab82973]
#contents
「変数」とは文字列や数値を入れる、入れ物や箱のようなもの。~
ゴーストでいうと「ユーザー名」「起動回数」「起動時間」「...
YAYAの変数はいろんな種類があります。~
**文字列と数値 [#f03ef3ff]
変数には「文字列」と「数値」の二種類があります。(正確に...
変数 = 1
こう書くと変数の中身は数値の「1」
変数 = "1"
こうやって" "か' 'でくくって代入すると文字列の「1」が入...
こんな風に変数に中身を入れることを「代入」と言います。~
~
全角の「1」「2」「3」…は数値になることはできません。文...
例えば数字の数値「1」と「2」で足し算すると結果は「3」にな...
~
ちなみに変数はYAYAのシステム関数を使っていつでも好きな時...
-変数を文字列変数にする
変数 = TOSTR(変数)
-変数を数値変数にする
変数 = TOINT(変数)
自動的に整数、実数、文字列どれなのか判断して変換してくれ...
(システム関数についての詳しい説明はのちほど)
***グローバルとローカル [#h613bbda]
_変数名
名前の頭に「_」がついてるとローカル変数
変数名
ついてないとグローバル変数です。~
~
おおざっぱに言うと「すぐ消えてしまう一時的なもの」がロー...
動作やセーブデータを軽くするため「ユーザー名」や「好感度...
***ローカル変数の寿命 [#k56de4c3]
(この辺ややこしいので、わかりづらかったら今は飛ばして後...
で、ローカル変数がどれぐらいの期間使えるのかというと、~
「現在の{ }内、およびそれより深い入れ子階層のみで使用でき...
です。(マニュアルより引用)~
~
言葉では説明しづらいので一例をだしてみると
ローカル変数テスト {
{
_変数 = 1
}
結果 = _変数
}
こう書くと「_変数」が深い階層から浅い階層に移った時に消え...
ローカル変数テスト {
_変数 = ""
{
_変数 = 1
}
結果 = _変数
}
こうすれば「_変数」は浅い階層→深い階層→浅い階層…と、最初...
最初に「_変数」が生まれたところが「結果=_変数」と同じ(ま...
~
つまりローカル変数を長生きさせたい時は最初に一番浅い階層...
**実際に変数を使ってみよう [#y8e6b659]
***準備 [#r2dc790f]
「dic_main.dic」を開き
#code(aya,nonumber,nooutline,nolink){{
//クリックされたら「MouseDoubleClick_(キャラ番号)(当たり...
OnMouseDoubleClick{EVAL("MouseDoubleClick_%(reference[3])...
}}
この「OnMouseDouble~」の行の左端に「//」を入れ、コメント...
そして、代わりに以下の3行をどこかに書きましょう。
#code(aya,nonumber,nooutline,nolink){{
OnMouseDoubleClick {
"\0\s[0]変数の実験をやるよー!\e"
}
}}
このイベントは「ゴーストが左ダブルクリックされた」時に起...
一般的なゴーストだとつつかれ反応をしたり、メニューが出て...
***SHIORI Eventから生まれてくる変数を使ってみよう [#b8be2...
「OnMouseDoubleClick」イベントが起きると「reference[0]」...
どの変数がどんな意味なのかは以前にも紹介した[[CROW・SSPリ...
(ここで「Reference0」と書いてある変数はYAYAでは「referen...
~
試しに「クリックされたキャラの番号」が入ってるreference[3...
#code(aya,nonumber,nooutline,nolink){{
OnMouseDoubleClick {
"\0\s[0]変数の実験をやるよー!\n\n"
--
reference[3]
--
"番のキャラがつつかれたよ!\e"
}
}}
単純に" "や' 'で囲まないと変数の中身が展開されてトーク...
シンプル!~
メインキャラ(0番キャラ)とサブキャラ(1番キャラ)をダブ...
~
この書き方じゃわかりづらい!書きづらいよ!…って時は~
#code(aya,nonumber,nooutline,nolink){{
OnMouseDoubleClick {
"\0\s[0]変数の実験をやるよー!\n\n&(reference[3])番のキ...
}
}}
こんな書き方でもOK!~
''「" "」で囲まれた中で変数を使うときは「&(変数名)」と書...
ちなみに「" "」ではなく「' '」で囲むと変数が展開されず...
***オリジナル変数を作ってみよう [#cebbd6ed]
ゴーストにプレゼントをあげてみましょう。~
「プレゼント」という変数に「花束」という文字を入れる時は...
#code(aya,nonumber,nooutline,nolink){{
OnMouseDoubleClick
{
プレゼント = "花束"
"\0\s[0]わーい「%(プレゼント)」ありがとう!\e"
}
}}
#code(aya,nonumber,nooutline,nolink){{
【ここ】プレゼント【ここ】=【ここ】1【ここ】
}}
【ここ】の部分には空白やタブを入れても構いません。~
演算記号(=や+といった記号のこと)は半角しか使えません。~
見やすくするため演算記号の右と左に半角空白を入れる人が多...
~
この例だと変数に入れる中身「花束」は数値じゃないので" "...
#code(aya,nonumber,nooutline,nolink){{
OnMouseDoubleClick
{
プレゼント = 花束
"\0\s[0]わーい「%(プレゼント)」ありがとう!\e"
}
}}
うっかりこう書いてしまうと「プレゼント」の中身はからっぽ...
なぜかというと、''YAYAは「"花束"」ではなく「花束」だけだ...
そのため「『プレゼント』という変数に『花束』という変数の...
「花束」という変数は存在してないため中身は空っぽになって...
***変数の計算をしてみよう [#j7856679]
数値型の変数の場合、計算もできます。
#code(aya,nonumber,nooutline,nolink){{
OnMouseDoubleClick
{
好感度=好感度+1
"\0\s[0]ユーザーさんだいすき!\n\n(好感度が「%(好感度...
}
}}
こっちもシンプル。~
~
ちなみにこう省略して書く事もできます。
#code(aya,nonumber,nooutline,nolink){{
OnMouseDoubleClick
{
好感度++
"\0\s[0]ユーザーさんだいすき!\n\n(好感度が「%(好感度...
}
}}
「好感度++」は「好感度を1だけ増やしますよ」という意味で「...
「好感度--」だと1減ります。~
「好感度+=2」だと「好感度=好感度+2」と同じ、「好感度-=2」...
そのほかYAYAで使える計算用の記号の説明はこのあたりに書い...
-[[old/AYA/ドキュメント/V5/マニュアル>http://emily.shille...
文字同士の足し算もできます。
プレゼント = "花" + "束"
と書くと変数「プレゼント」の中身は「"花束"」となります。~
~
***変数をちゃんと保存されているかどうか確認 [#p75443f3]
ゴーストを一旦終了し、セーブデータファイル(yaya_variable...
上の例だったら~
プレゼント,"花束",,
という一行があれば、保存成功!~
ちなみに数値型の変数の場合は~
好感度,1,,
こんな風に変数の中身の数字が" "で囲まれてません。
終了行:
*チュートリアル3.変数を使ってみよう [#kab82973]
#contents
「変数」とは文字列や数値を入れる、入れ物や箱のようなもの。~
ゴーストでいうと「ユーザー名」「起動回数」「起動時間」「...
YAYAの変数はいろんな種類があります。~
**文字列と数値 [#f03ef3ff]
変数には「文字列」と「数値」の二種類があります。(正確に...
変数 = 1
こう書くと変数の中身は数値の「1」
変数 = "1"
こうやって" "か' 'でくくって代入すると文字列の「1」が入...
こんな風に変数に中身を入れることを「代入」と言います。~
~
全角の「1」「2」「3」…は数値になることはできません。文...
例えば数字の数値「1」と「2」で足し算すると結果は「3」にな...
~
ちなみに変数はYAYAのシステム関数を使っていつでも好きな時...
-変数を文字列変数にする
変数 = TOSTR(変数)
-変数を数値変数にする
変数 = TOINT(変数)
自動的に整数、実数、文字列どれなのか判断して変換してくれ...
(システム関数についての詳しい説明はのちほど)
***グローバルとローカル [#h613bbda]
_変数名
名前の頭に「_」がついてるとローカル変数
変数名
ついてないとグローバル変数です。~
~
おおざっぱに言うと「すぐ消えてしまう一時的なもの」がロー...
動作やセーブデータを軽くするため「ユーザー名」や「好感度...
***ローカル変数の寿命 [#k56de4c3]
(この辺ややこしいので、わかりづらかったら今は飛ばして後...
で、ローカル変数がどれぐらいの期間使えるのかというと、~
「現在の{ }内、およびそれより深い入れ子階層のみで使用でき...
です。(マニュアルより引用)~
~
言葉では説明しづらいので一例をだしてみると
ローカル変数テスト {
{
_変数 = 1
}
結果 = _変数
}
こう書くと「_変数」が深い階層から浅い階層に移った時に消え...
ローカル変数テスト {
_変数 = ""
{
_変数 = 1
}
結果 = _変数
}
こうすれば「_変数」は浅い階層→深い階層→浅い階層…と、最初...
最初に「_変数」が生まれたところが「結果=_変数」と同じ(ま...
~
つまりローカル変数を長生きさせたい時は最初に一番浅い階層...
**実際に変数を使ってみよう [#y8e6b659]
***準備 [#r2dc790f]
「dic_main.dic」を開き
#code(aya,nonumber,nooutline,nolink){{
//クリックされたら「MouseDoubleClick_(キャラ番号)(当たり...
OnMouseDoubleClick{EVAL("MouseDoubleClick_%(reference[3])...
}}
この「OnMouseDouble~」の行の左端に「//」を入れ、コメント...
そして、代わりに以下の3行をどこかに書きましょう。
#code(aya,nonumber,nooutline,nolink){{
OnMouseDoubleClick {
"\0\s[0]変数の実験をやるよー!\e"
}
}}
このイベントは「ゴーストが左ダブルクリックされた」時に起...
一般的なゴーストだとつつかれ反応をしたり、メニューが出て...
***SHIORI Eventから生まれてくる変数を使ってみよう [#b8be2...
「OnMouseDoubleClick」イベントが起きると「reference[0]」...
どの変数がどんな意味なのかは以前にも紹介した[[CROW・SSPリ...
(ここで「Reference0」と書いてある変数はYAYAでは「referen...
~
試しに「クリックされたキャラの番号」が入ってるreference[3...
#code(aya,nonumber,nooutline,nolink){{
OnMouseDoubleClick {
"\0\s[0]変数の実験をやるよー!\n\n"
--
reference[3]
--
"番のキャラがつつかれたよ!\e"
}
}}
単純に" "や' 'で囲まないと変数の中身が展開されてトーク...
シンプル!~
メインキャラ(0番キャラ)とサブキャラ(1番キャラ)をダブ...
~
この書き方じゃわかりづらい!書きづらいよ!…って時は~
#code(aya,nonumber,nooutline,nolink){{
OnMouseDoubleClick {
"\0\s[0]変数の実験をやるよー!\n\n&(reference[3])番のキ...
}
}}
こんな書き方でもOK!~
''「" "」で囲まれた中で変数を使うときは「&(変数名)」と書...
ちなみに「" "」ではなく「' '」で囲むと変数が展開されず...
***オリジナル変数を作ってみよう [#cebbd6ed]
ゴーストにプレゼントをあげてみましょう。~
「プレゼント」という変数に「花束」という文字を入れる時は...
#code(aya,nonumber,nooutline,nolink){{
OnMouseDoubleClick
{
プレゼント = "花束"
"\0\s[0]わーい「%(プレゼント)」ありがとう!\e"
}
}}
#code(aya,nonumber,nooutline,nolink){{
【ここ】プレゼント【ここ】=【ここ】1【ここ】
}}
【ここ】の部分には空白やタブを入れても構いません。~
演算記号(=や+といった記号のこと)は半角しか使えません。~
見やすくするため演算記号の右と左に半角空白を入れる人が多...
~
この例だと変数に入れる中身「花束」は数値じゃないので" "...
#code(aya,nonumber,nooutline,nolink){{
OnMouseDoubleClick
{
プレゼント = 花束
"\0\s[0]わーい「%(プレゼント)」ありがとう!\e"
}
}}
うっかりこう書いてしまうと「プレゼント」の中身はからっぽ...
なぜかというと、''YAYAは「"花束"」ではなく「花束」だけだ...
そのため「『プレゼント』という変数に『花束』という変数の...
「花束」という変数は存在してないため中身は空っぽになって...
***変数の計算をしてみよう [#j7856679]
数値型の変数の場合、計算もできます。
#code(aya,nonumber,nooutline,nolink){{
OnMouseDoubleClick
{
好感度=好感度+1
"\0\s[0]ユーザーさんだいすき!\n\n(好感度が「%(好感度...
}
}}
こっちもシンプル。~
~
ちなみにこう省略して書く事もできます。
#code(aya,nonumber,nooutline,nolink){{
OnMouseDoubleClick
{
好感度++
"\0\s[0]ユーザーさんだいすき!\n\n(好感度が「%(好感度...
}
}}
「好感度++」は「好感度を1だけ増やしますよ」という意味で「...
「好感度--」だと1減ります。~
「好感度+=2」だと「好感度=好感度+2」と同じ、「好感度-=2」...
そのほかYAYAで使える計算用の記号の説明はこのあたりに書い...
-[[old/AYA/ドキュメント/V5/マニュアル>http://emily.shille...
文字同士の足し算もできます。
プレゼント = "花" + "束"
と書くと変数「プレゼント」の中身は「"花束"」となります。~
~
***変数をちゃんと保存されているかどうか確認 [#p75443f3]
ゴーストを一旦終了し、セーブデータファイル(yaya_variable...
上の例だったら~
プレゼント,"花束",,
という一行があれば、保存成功!~
ちなみに数値型の変数の場合は~
好感度,1,,
こんな風に変数の中身の数字が" "で囲まれてません。
ページ名: