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

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

★21/7/23追記 生きているから追記もできる!
一カ月経ってるとかウソかトトロでしょ トトロはいますが……

また助けていただいてスクリーン内の文字カスタムができるようになりました。多謝
枠を消せたし文字の大きさと色が自由になったよ。(左下)

●最終的にこうなったよスクリプト(screen.rpyの好きな場所に)

####手作りスクリーン
screen nowplay_indicator():#スクリーンの名前は「nowplay」だよ~と宣言
    style_prefix "nowplay"#ここで「nowplay」のスタイルはこうですよ~ってやつを入れる
    zorder 130#画像選択より上に出すようにする
    vbox:#見えないボックスに入れるよ
#        zorder 130#←ここには入れられないらしいよ!
        xpos 100 ypos 500#縦横の位置
        spacing 4#余白(今気づいたがボックスないならいらない気がする
        text _(" {u}Now playing: [kkm]{/u}  ")    #表示させるテキスト(uは下線)
            
##以下、スタイルのおまとめ指定(2行目のprefixとセット )
style nowplay_text is gui_text#「nowplay」はguiのtextだよ(style ●●_text 
style nowplay_text:#これが「nowplay」のtextスタイルだ
    color "#efd4ff"#文字色
    size 19#文字サイズ
#    background "#ffe8f4"#←これは効果なし(テキストの指定だからだと思う・・・)


●枠について
黒背景に指定カラーの色の枠が付いちゃって(追記前画像参照)
どうにもgui.rpyでの設定に勝てないとか思ってたんですが
    frame:
の中に自分で入れてたからでした!!!(消した)
逆に枠がほしいときはframeに入れたらいいんだな。
そんで多分ですがframeはframeでスタイル設定ができるんじゃないかしら。

指定のやりかたをへんなとこにかくと
frame:には入らないよ~とかvbox:には入らないよ~とか言われるので
適宜シャカシャカ移動させあらゆるインデントのパターンを力技で試しつつ……
でした!!(やっぱり力技)

(線の下は追記前記事です。残しときます。)

■画像選択画面の上に文字を載せる
 画像選択を使ってサウンドモードを作っているのですが、
 今何が流れているのか曲名を表示したい!と思いまして……
 結果からいうとこういうやつ!


曲名に限らず応用すればなんでもメッセージ置けるよねという。
案外画像選択の上になんか出したいときあるよね。
場所をうろうろするゲームとかだと日数表示がほしかったりするし。


■やってみようとした
・showでピクチャを表示→うまくいかなかった
・showでテキストを表示→うまくいかなかった

ぐぬぬ
が、ここでスクリーン使えばよくね?と思い立つ。

何か前の方のレイヤーに出てきてくれるイメージがあったため、
「スキップ中」の文字を表示している## Skip indicator(スキップ表示)スクリーン 
を原型にして取り組んでみました。


①screen.rpyの適当なところになうぷれインジケーターのスクリーンを作る
screen nowplay_indicator():#スクリーンの名前
    zorder 130#こうすると手前に出る?気のせい?
    frame:
        xpos 100 ypos 490#縦横の位置です
        vbox:
            spacing 4#わかんない
            text _(" Now playing: [kkm]  ")#ここにテキストを入れる。[kkm]は変数

②script.rpyの最初の方で変数を作っとく。 
$ kkm = "メヌエットOp.2"
#おまけページのデフォルト曲名が「メヌエットOp.2」のためです。

③omake.rpy(足したおまけページ)でスクリーンを表示させる。
label rpsel:#音楽モード(すみませんrpになってて)
##rpmode
        $ quick_menu = False#メッセージボックスを消す
#        $ kkm = "" ←コメントアウトしてあるのはここだと通るたびに初期化されちゃうから
        show screen nowplay_indicator#スクリーンを表示する
screen example_imagemap():#イメージマップは別記事参照~
    imagemap:
        ground "sound_off.png"
        hover "sound_on.png"
        
#(左端の位置, 上端の位置, ホットスポットの幅, ホットスポットの高さ)
        hotspot (175, 121, 55, 386) clicked Return("s1")
# ・・・(ホットスポットは省略)

#(中略)で、とんだ先に
label example:
    
    call screen example_imagemap
    
    $ result = _return
    
    if result == "s1":#選ぶとここに飛ぶ
        $ kkm = "月に惑いて"#変数に曲名を入れる
        stop music fadeout 1.2#今流れてる曲をフェードアウト
        play music "audio/etyn.ogg"#流す曲を再生
        jump rpsel#選択画面に戻す

④任意の場所でhideしていらなくなったスクリーンを消す
 今回の場合だと他のおまけページにジャンプするときとかに消しています。
    hide screen nowplay_indicator

⑤スクリーンのデザインを調整
現状ですとプロジェクト作るときに選んだテーマカラーで表示されます。
多分なんかすればデザインを変えられるはず。
これね、この先はね……わかんなかったわけだよ。ハッハハ……
まあ、いいんだよ動けば。ここまで!!!!
↑これについては追記を見てね!!!!
PR
Comment
color
name
subject
mail
url
comment
pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
ブログ内検索
このブログについて
ゲーム作りたい人のメモ。
講座というほどのものでもないおぼえがきです。
何か参考になるところがあればご自由にどうぞ。
ほぼ自分用なので、日本語いきあたりばったりでごめんなまし。

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

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