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

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

※立ち絵については・26 ☆立ち絵差分表示(決定版)
を見たほうがいいです
(この記事は過去にいろいろ試してたやつの名残なので)



立ち絵を出すのが
    show ●●  at migi2, smooth   
という一文。
で、顔の差分指定(●●)は別のところでやってるので省くとして、
立ち絵の変更もよくわからないので同じ位置に出している。

    show ●●  at migi2, smooth   
キャラ「セリフ1」
    show ●◇  at migi2, smooth   
↑こう。するとセリフ1のあとに別の顔に(●●→●◇)なってくれる。


のだが、この後同じシーン(背景が変わるまでを1シーンとする)で
もう一度●●を使おうとすると、うまく出ない。

    show ●●  at migi2, smooth   
キャラ「セリフ1」
    show ●◇  at migi2, smooth   
キャラ「セリフ2」
    show ●●  at migi2, smooth    ←出ない!!!

そん時はいったん●●をhideしてからもっかい出すようにすると出る。
(略)
キャラ「セリフ2」
    hide ●●  at migi2, smooth    ←消す
    show ●●  at migi2, smooth    ←出す

以下の例だと、aa4をもっかい出すためにhideしてからshowしています。


   
    gk "ニオ。"
    show aa4  at migi2, smooth   
    ns "途方にくれるニオの前に現れたのは、幼馴染のライでした。"
    show ng5  at left2, smooth
    gk "見たか?  この間のお触れ。"
    show aa5  at migi2, smooth 
    ar "年貢のことでしょ? 正直もうこれ以上はお手上げだよ……。"
    show ng1  at left2, smooth
    gk "それだけじゃない。見ろ、そこに立て札があるだろ。"
    hide aa4  at migi2, smooth 
    show aa4  at migi2, smooth 
    ar "……?"




ていうか変更これでいいのか??
もしかして一回一回消したほうがいいのか!???
わかりません!!

公式の「立ち絵の表情を切り替える」解説は差分じゃなくて一枚一枚用意しているのを
想定しているように見えるんですが・・・どうなんだろう・・・

あと, smoothの指定について、
・alpchaはどうやら透明度。
・linear を小さくすると移り変わりが短くなる。

transform smooth:
    on show:
        alpha 0.0
        linear 0.5 alpha 1.0
PR
■すごい苦しんだ上でやっとできたので大勝利と言わせてほしい
いや、マニュアルの解釈が難しかっただけで、
マニュアル通りにやったらできたぜってだけの話なんですけど・・・
合言葉は、「パーツ画像はいらない」です。

■やったこと
map.rpyというファイルを別に作ってscriptとか入ってるフォルダに入れました。
ごっちゃになりそうだったので・・・



screen example_imagemap(): #initチェックやったら()をつけろと言われた。
    imagemap:
        ground "/images/map/mapbase.png" 
#ベース全体画像。選択前の画像。背景(Bg)の上にのるっぽい。
        hover "/images/map/mapon.png"  
#ホバー画像=選択後の全体画像(※)これが???でつまづいた

 #以下、クリックさせる場所の指定。数字は順にX座標、Y座標、サイズ幅、サイズ高さ。   
#幅と高さがなんかうまいことかみあわないと画像がうまくホバー画像に切り替わらないみたい。
 
        hotspot (239, 256, 106, 135) clicked Return("farm")#農場
        hotspot (343, 238, 98, 135) clicked Return("shop")#市場
        hotspot (422, 205, 100, 155) clicked Return("pare")#宮殿
        hotspot (553, 234, 98, 155) clicked Return("city")#市街地
        hotspot (652, 240, 108, 135) clicked Return("go home") #農村部
 
#以下、画像内での、それぞれクリックさせたい座標のメモ。
#市場:sel2 座標(343,238)
#宮殿:sel3 座標(422.204)
#市街地:sel4 座標(553.234)
#農村部:sel5 座標(652.240)
 
              
label example: 
#こっからがラベル内(普通に目に見えるスクリプトを書くところ)
#マニュアルのコピペなんで説明はいらんともうけどそれぞれresultにとびます!
    call screen example_imagemap
    
    $ result = _return
    #
    if result == "farm":
        io "You picked swのうじょうing!"
        
    elif result == "shop":
        io "You picked scienいちば!"
        
    elif result == "pare":
        io "You picked artきゅうでん!"
        
    elif result == "city":    
        io "You went cotしがいち!"
        
    elif result == "go home":
        io "You went いえhome!"

#ここのメッセージ発話者だけど、(io)別のスクリプトファイルで
#事前に指定した奴じゃないとエラーるから気を付けてね。

サンプルを雑に改変した跡がある。すいません

解説すると、今までの経験から飛びたいとこのパーツのホバー画像を個別に作ってた。
でも、二枚の全体画像があれば別にパーツ画像はいらなかった。
どういうことかというと、

↓1、全体画像選択前(ベース)   



  ↓2、全体画像選択後(ホバー)

必要なのは上の二枚で、(選択しているところが黒くなるという例です)

こういう↓個別パーツ画像

は、必要なかった。
座標を指定すると、勝手にその部分だけ触れたとこがホバー画像になってくれるんです。
す、すごい。ら、らくだー!!!!

某ツールではボタン作ろうとするとそれぞれon,off,over,hoverとか必要だったじゃん!?
だから勝手に騙された。
こんな幸せ(楽にできるという意味)があっていいはずないって・・・!

いや、マニュアル通りなんですけどね。
・修正が必要な箇所が見つかったよ

・スクリプト治すよ
・opt.rpyでverをふりなおすよ

・もっかい書き出すよ(前のこと忘れててここでつまづきかけた)

・データさしかえて
・readme書き換えて

圧縮フォルダつくるよ


タイトルの通りです(マニュアルを見ろよ私は)
↓ここにありました
http://www.windproject.sakura.ne.jp/renpy/wiki/index.php?title=%E7%AB%8B%E3%81%A1%E7%B5%B5%E3%81%AE%E8%A1%A8%E6%83%85%E3%82%92%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%82%8B

イメージタグというものを使うよう。
でも疑問なんですが差分(使うやつを指定してあるやつはどうなるの……?
image aa0 = im.Composite(~
↑(こういうのの呼び出し)できるのかな、多分できるよね?

※実践はまた今度にするので今回はメモです。確定するまで線引いときます


【仮】
 # キャラクター e にイメージタグ aa を関連づける
    define e = Character("キャラe", image="aa") #名前がe(表示はキャラe)、イメージタグaa

  image aa 0 = #右辺をim.Compositeで指定?
  image aa 1 = #右辺をim.Compositeで指定?

label start:
    show aa 0
    e  aa 0"「こんにちは!」"
 
    # 立ち絵を切り替える
    e aa 1 "「……」"

#予想なんですけど、0とか1とかだとちょっとなにか他の呼び出しとかぶちゃって難しそう。
face→f001とかになるかなあ。
◇またもほぼ自分用に

script.rpyのデフォの説明文はもういらないかなって人向け
以下の内容に変えとくとすっきりスタートでき必要なときはコピペしに戻れる……
ような気が?
※キャラ名のカラーコードはメッセージボックスが黒の場合が想定されているので適宜変えてね
※スクリプトはファイルがないとエラーになると思うのでコメントアウトされています。
 →だいたいゲタが2個のとこを消すと有効になるはず

# このファイルにはゲームのスクリプトを記述します。
#①キャラ名設定
define w = Character('キャラ名1', color="#d7b6e9")
define k = Character('キャラ名2', color="#c8ffc8")
define m = Character('キャラ名3', color="#c8c8ff")
#→名前テキスト(ネームプレート)が指定した色になり、キャラ名nと表示される
#②立ち絵スムーズ表示スクリプト
transform smooth:
    on show:
        alpha 0.0
        linear 0.5 alpha 1.0
    on hide:
        alpha 1.0
        linear 0.5 alpha 0.0
#→出る時、消える時のトランジションです。
#(何を指定してるのかよくわからない のはナイショ)
#③場所指定(瞬間移動)        
transform left2:
    xpos 0.1
#→立ち絵の座標ポジションを増やしています。at 〇〇みたいな風に使います。
#→(例ではat left2)
##<スクリプト>
##label start:
#任意の名前 label 〇〇
##label barashi:
#背景表示(scene 〇〇) 
##    scene black
#背景表示(真っ黒にしてからbg3をフェードで入れる)
##    scene black
##    with dissolve  
     
##    scene bg03
##    with fade 
#音楽(例だと、フォルダはgame/bgmの中)
##BGM(自動でループ)流す
##    play music "bgm/wind.ogg" 
##BGM止める
##    stop music fadeout 3.0
##SE(一回流れるだけ)
##    play sound "bgm/se3.ogg" 
#立ち絵表示(aa1として登録している場合) ※変わるときも同じ(本当か?)
 #at top=座標は上からポジショニングで、,smooth=②立ち絵スムーズスクリプトによる。)
##    show aa1 at top, smooth
##立ち絵消す(表情変化でこの場面中にaa1とaa3を使用したと仮定)
##l    hide aa1
##l    hide aa3 at top, smooth
#テキスト
##    k "かしこまりました。少々お待ちください。"
#ルビ(※screen.rpyにいくらか式を記述しておく必要があります。後述)
##    w "{rb}支配人{/rb}{rt}オーナー{/rt}を呼んでくれるかしら。"
#終わる時→return でゲームを終了します。
##   return
label start:
#    scene bg room
#    with dissolve
#    play music "<silence .5>"
    # 以下は台詞を表示します。
    w "Ren'Py の新しいゲームを作成しました。"
    w "ストーリー、画像、音楽を追加すれば、世界にリリースすることができます!"
    # return でゲームを終了します。
    return

【おまけ】なお、セリフ一行にどこまで入るかの確認用

##     "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやいゆえよわをん1234567890あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやいゆえ"
≪ 前のページ   *HOME*   次のページ ≫
ブログ内検索
このブログについて
ゲーム作りたい人のメモ。
講座というほどのものでもないおぼえがきです。
何か参考になるところがあればご自由にどうぞ。
ほぼ自分用なので、日本語いきあたりばったりでごめんなまし。

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

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