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

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


ところでなんですが、講座を見ても「これどこに書けばいいんだ?」って悩むことがあります。
でも、なんかたいてい「ラベルの外」か「ラベルの中」しかないっぽいです。 
HTMLでいうと、「ラベルの外」がhead~headで「ラベルの中」がbody~bodyみたいな。

ラベルの外で定義して、ラベルの中でなんか本格的な指示になるみたいな感じです。
みたいな感じ多すぎか。コギャルか(死語)

で、立ち絵
ひとまず、縮小がきくよう結構でっかめのを書き出してみました。
(そんで、imgのなかにstandというフォルダを作ってaa000.pngとして保存。
 → img/stand/aa000.png です。)

以下、ラベルの外=青字、 ラベルの中=赤字でいきます。

→キャラ定義に imageをaa という内容の追記をしました。理由わすれちゃった
define k = Character('給仕', color="#c8ffc8", image="aa")


# キャラクター拡大率
image aa big = im.FactorScale("/stand/aa000.png", width=1)
image aa sm = im.FactorScale("/stand/aa000.png", width=0.4)

大きさはwidthで、1~0の間で設定するっぽい。1が現サイズ。
あたりまえですがこれだとでかすぎましたのでaa smが小さい方。数値は各自調節。
image~のあとが定義名です。ラベルの中で使う。
ところでFFFTP(※1)使ってる身として半角スペース使うの恐怖があるんだけど、
アンダーラインでもいけるのかな。まあそれはいいや。

そんで、ラベルの中にはいります。
    show aa sm 
ってやるじゃん、そしたら足元が表示される……
なんでかというと表示位置がなんかデフォルトだと下?がベースになってるらしいのですね。
いや上から表示してもらわないと。ほら人間の頭は上から付いてるし。みたいな。

    show aa sm at top

これで表示位置が上ベースになったので、顔部分が出ます!
他にも位置はrightとかlefttとかがあって、
複数人を画面に出すときにこれを駆使する予定だよ!
※topかつrightまたはleftを指定したいときは、toprightまたはtopleftを使うよ

ついでに画面はこんなんになりました 無表情ですけど


■追加で
じつは、これだと立ち絵の出方がアレなのです。
なんというか、やってみて見てみてほしい……(説明放棄)
というわけなので、なめらかに表示できると噂の記述をいれてみました。

#立ち絵スムーズ表示スクリプト
transform smooth:
    on show:
        alpha 0.0
        linear 0.5 alpha 1.0
    on hide:
        alpha 1.0
        linear 0.5 alpha 0.0

これをつけたときは、ラベル内で立ち絵表示させるときうしろに「, smooth」をつけます。
    show aa sm at top, smooth


■で、差分はどうするかについて……
①全部用意して表示
②顔セット+身体 の差分で表示
③福笑い差分(各顔パーツ+身体)で表示

①だと、スクリプトで縮小表示じゃなくて元データごと縮小画像にしないと
サイズがやばいことになりそう。
楽だとは思うんだけど、個人的になんかムダがあって気持ち悪いみたいなところもある。

最終的に③ができるのを目標として今回は②でやるのが現実的かなあと思ってます。
②ですら手に負えるかわからないのは、まあ頑張ってもらうしかないね自分に!
しかし、②③の方式って読む限り縮小とかしないでサイズを決めてやるものっぽいのだよね。
わからないこといっぱいです。そもそもまだ動かし方がわからんので……
ちょっとまた試してメモしにくる予定です。

■どうでもいい話
ところで丸付き数字(①←こういうの)ってネットマナーとか言ってた時代は表示できない場合があるのでNGとか言われてたけど、今ふつーにビジネスメールとかで見かけるね……
メール自体、HTML形式が普通になってるんですね。ってことで解禁したよ。


(※1)たしかファイル名に空白があるものをアップロードするとエラーになる
なんかこういうデジタル系のもので全角とかスペースとかやめたほうがいいよね見えてる危ない橋だよね。たまに使えますって言ってくれるツールもあって、みやすさはあるんだけど……
PR
特にルールのない素材です(ウディタ用キャラチップを想定)

■サメ(笑)
 
専用の影はめんどくさがってつくってないです
サメに見えるか微妙だけどまあ雰囲気で!
 
こっちはまわりに波がついてるverです
好きなところで泳がせよう!!!


■ポイント(白縁取りつき)

矢印用です。どこにでもある素材だけどまあ……
画像系は後回しにしてテキストを流し込んでみます。
エラーが出た箇所のメモをかねて。

(scrpit.rpyです)
テキストエディタの色分け機能を使うと便利です。
Meryなら「編集モード」で「python」、色も反転したほうが見やすいかな?

●キャラ名設定
define w = Character('私', color="#d7b6e9")
define k = Character('給仕', color="#c8ffc8")
define m = Character('支配人', color="#c8c8ff")
________________

●スクリプト本文について(ラベルのなかだよ)
    w "(……どこよ、ここ)"
    "――全くもってうかつだった。重力ワープ磁場に巻き込まれるなんて\nミスをした私は、ひとり見知らぬ惑星に漂着していた。"
    w "まあいいわ、とっとと助けに来てもらいましょ。"

サンプルシナリオは恥ずいけど我慢な!!
・w" " →(キャラ名設定で設定してるので)「私」というネームつきで表示されるセリフ。
・プレーンな" "→地の文としてネームなしで出てきます。


★気になったこと
シナリオテキストから「」を空白含んだ””に置換してたけど、いつの間にかズレてて
インデントエラーがいっぱい出た。
・行頭の空白をちゃんと揃えないとインデントエラーはすごい出る。
・あとエラーここですって教えてくれるのはいいけどなんか行がズレてる?(対処方法不明)

プレーンな""も定義をつけてw""と見た目同じインデントに揃えたほうがわかりやすいのかも。
あといつのまにか後ろの”がとれてたりとか……うーん。

→エラーが出たという行の周辺を見直す
→セリフ前後で「"」の抜けはないか?
→設定していないキャラ名の指定をしていないか?(上の例だとt" "とか急に出てくると×)
→何もなってないように見えるのにエラーになる場合、行頭の空白コピペミスがないか確認
このへんが対処方法……かな?
________________

<<他、基礎>>

●文字関係(ちょう基本的なものを抜粋)
{p} →キー送り&改行
{w} →キー送り
 \n →改行
 
 {p=1.0) →1秒待った後に次の文字が出る。脅かし演出とかに使うのかも?
(私はですが)多分改行しか使わないかも。
●ルビ(スクリプトに書く内容のみ)
{rb}容貌{/rb}{rt}かたち{/rt}
※スタイルを設定した後でないと出ません。設定用のコードは調べると出るので割愛

●選択肢
label select1: #選択肢がありますよー(別に個別にラベルにしなくてもいい)

menu:
    "給仕の少年が席を離れようとする。私は……"
 #↑ここに書くとメッセージボックスに文字が入ったまま選択肢を表示できる。
 #↓で選択肢内容と飛ぶ先を指定。
    
    "彼を呼び止める" 
        jump yobitome
    "何もしない":
        jump sinai

label yobitome:
  #「yobitome」の中身。

label sinai:
  #「sinai」の中身。

※これだとyobitomeのあとにsinaiが続いちゃうので
 sinaiラベルの前にゲーム終了とかなにかやってください。

●ラベルについて補足
・label はインデントなしでそのままかいていい
・「label〇〇:」はラベルですよっていう合図(イレモノ)なので
 ジャンプするときとかはlabel以後の文字列で指定する(label start:→ラベル名は「start」
screen.rpyについて。

●まず用語
・クイックメニュー=メッセージボックスにくっついてるメニューのこと?
・メインメニュー=タイトル画面?
・ゲームメニュー=ゲーム中に右クリックで出るメニュー?
 ※下の2つはNavigation(ナビゲーション)スクリーン というところで制御している?

自動で日本語になってる用語(ロールバック等)とか、ヘルプの文章とかを
変えるのはどこ?
screen.rpyっぽいよ
例えばメインメニューが「環境設定」「ヘルプ」になってるけとこの項目名を
「オプション」「操作説明」にしたいとか。
※メニューが多い、かといって項目削除までてを加えたくない→よく使うメニューを
カタカナに、そうでもないメニューを漢字表記にしてなんとなく区別させたい

↓という順番ですがscreen.rpyについて簡易に説明
・スタイル→?
・発話スクリーン→? 顔グラ出す時のかな?
・入力スクリーン→何か入力するときの画面関係と思われる
・Choice(選択)スクリーン→選択肢関係と思われる

・Quick Menu(クイックメニュー)スクリーン 
 メッセージボックスについてるボタン(文字)の文字表記を変えられます。
 一個一個ボタン作らなくていいんだ……最高か……
 ちなみに個人の趣味ですが、メッセージボックスの日本語と競合して画面の情報量が
 多くなると疲れるのでボタンが多いときはメニューボタンは英字表記にしたいです。

・ メインメニュースクリーンとゲームメニュースクリーン
 タイトルと右クリックメニューの項目の設定ができる。
 クイックメニューと揃えるかはお好みじゃないかな。

・About(バージョン情報)スクリーン =「バージョン情報」の
 「Made with Renpy」のとこが変えられる。いじんないほうがいいかな。

・Load and Save(セーブ・ロード)スクリーン =セーブ・ロード画面の用語が変えられる
 けどとくに一般的な言葉で構成されているので変更する意味はないかな?

・Preferences(環境設定)スクリーン =環境設定の用語が変えられる。
 ロールバックのレフトライトがわからないのですけど!!!たすけち
 翻訳がなんかシンプルなのでわかりやすい言葉に変えたいなってときは
 手を加えるといいかもしれない。
 「スキップ」→「選択肢の後」とかわかんなくない?

 あと、拡張性があるみたいで「開発者が定義した環境設定を増やすことができます」
 だって。わかんないからたぶんやんないけど……
 たしかにデフォの項目少ないね。すっきりしてていいと思う!!

・History(履歴)スクリーン =バックログ画面。
・Help(ヘルプ)スクリーン=操作説明。
 読んでもよくわかんないんだけど\(^o^)/ 
 何かカスタムした場合は実際の操作とあってる内容に書き換えないとね!
 でも読んでもよくわかんないんだけど\(^o^)/

・ Confirm(確認)スクリーン =確認画面。
・ Skip indicator(スキップ表示)スクリーン 
・Notify(通知)スクリーン
・NVL(ノベル)スクリーン
・モバイル用の別設定

ちなみに用語の類(美本ご入力できるとこね)で改行したいときは \n です
\は半角のお米マークよ。バックスペースのおとなりよ。

★ところで


スキップだけなおってないんですが――なんでだーーーッツ
次回へ続く。または、諦めて日本語で揃える(電光石火のように早い前言撤回)

あとこのメニューの並び順どうにかしてえよ……熱いロールバック押しはわかった……
重要な順にしてくれ……セーブがこんな地味なとこにいちゃいけねえぜお嬢ちゃん
あとロードがないのはどうか?みたいな要望もでてきましていじ……いじりたい……
これ難しかったらどうしよう。迷宮入りの予感がするぞ

↑全部簡単にできたわ!!!パイセンすいませんでした!!
順番は並び替えるだけです。座標指定もいらない!!!GOOD and GOD!!!
しかもロードはセーブをコピペしてsaveのとこloadにするだけなんでニンマリ。
あと残りはスキップがなんでか日本語のまま状態なのをどうにかすれば……

スキーップ! スキッパーーー! なんでなんだ!
なんで(こんなところでBANANAFISHのネタバレ)(最序盤じゃねーか)
■メッセージボックス is だいじ
読むゲームってメッセージボックスさえなんとかなればなんとかなるよね
みたいなところがあり というのは(3割くらい)冗談ですが

私は文がゲーム画面にどう出るか考えながらシナリオテキストを事前に
整形したいので、最初にメッセージボックス周りを整えたいのであった。
一行に何文字入って×何行出るか みたいなやつです。

予定としては以下。
 ・文字はやや大きめで(読みやすさ重視)
 ・顔グラなし、キリいいところで改行、3行まで入れる
 ・フォントはとくに外部埋め込みしないでデフォのままの予定

↓今のままだと、4行まで入っている+やや行間がせまい と感じます。
 
 給仕?まあきにすんない

_________________

さて、どこをいじるのかな。
●まずいつも使ってるテキストエディタでrpyを開いて編集できるようにした
 やり方は「Renpy テキストエディタ」検索して出てきます!
 なんだこのぶん投げ(リンクしていいのかわからないので割愛しました)
<アプリケーションの方での設定>
 →右下の「設定」→「ランチャー設定」→テキストエディター
 →システムエディター にする です。
 「これでファイルを開く」とどれで開くか訊いてくれるはず。

●guy.rpyでの設定をしていく
・「フォントとフォントサイズ」で文字サイズを20に。大きくしたぞ
  ## 一般的な台詞のテキストサイズ。
  define gui.text_size = 20

・「フォントとフォントサイズ 」に以下を追加した↓
 ## 一般的な台詞のテキスト行間。
 define gui.text_line_leading = 8
↑適当にやってみたけど効いてないっぽい。ハハハ
これやったら他のとこの行間も伸びた気がする……?未検証。わからない。

(するとちょっと文字部分が下に下がっててボタンと近くなっちゃったので)
・「ダイアローグ(台詞) 」のとこで「テキストボックスに対する、台詞の位置」を調節。
define gui.dialogue_ypos = 30
下の行を30にしたらいいかんじになったよ。やったね。

→でもとりあえずまあ3行にはできたよ。でも3行過ぎたら自動で次に
いってくれるとかはこれだとできないな……手動ですね……
それかダイアログの折返しは横幅設定があったけどそこでなにかすれば
高さ幅も制御できるのかも?(試していません)

_________________

で、メッセボの中身ですが自動改行はオンではないので、(スクリプトの書き方は後日また)
改行しても平気(多分)。エディタの横幅調節してある程度は見たままかけそうです。
(キャラ名の定義スペースはあるけれども、多分)

テストというか初作なのであまり大きなカスタマイズはせず、
気になるところだけさぐりさぐりいじってみる感じになりそうです。

≪ 前のページ   *HOME*   次のページ ≫
ブログ内検索
このブログについて
ゲーム作りたい人のメモ。
講座というほどのものでもないおぼえがきです。
何か参考になるところがあればご自由にどうぞ。
ほぼ自分用なので、日本語いきあたりばったりでごめんなまし。

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

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