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

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

◆イメージマップ発展版。(基本版は以前の記事参照))
画像選択のボタンの出現する・しないを変数でコントロールしたい!
そんなお悩みに答えてくれるのがこちら、海外フォーラム!(地球が爆発するらしい)

とりあえずそんな感じの内容を自分用にした例を載せます。
変数は事前に指定しとかないとエラーになるのでどこかで先に書いておくとして、

init python:
    fav = 1#事前に指定

#普通のホットスポットのやつをですね
            hotspot (1011, 38, 55, 42) clicked Return("favrr")#帰るべ^ス

#ifの下にくぐらせます。
##→favという変数が1のときだけホットスポットが出ます。
        if fav == 1:#破壊されていなければ以下が出る?
            hotspot (1011, 38, 55, 42) clicked Return("favrr")#帰るべ^ス

あと、 imagemap:の直下の画像指定は最低限groundとhoverでもできるけど、
idleなるものを挟むと小回りが利きます。
・ground=ベース画像
・idle=ボタンが有効な時のみ出現&押していないとき状態
・hover=ボタンが有効な時&押しているとき状態

なお、多分方法はあるんだろうけど、イメージマップ+通常のshow(画像表示命令)
だとイメージマップが手前に来るのでshowで出した画像は隠れちゃいます。
何らかの方法でプライオリティをどうにかするか、(挫折しました※)
イメージマップ部分を透明にさせとくかで対応。

※zorderとかレイヤーユーザー指定(↓の2行)とかがあやしいと
思ったけどわかりませんでした。「zorderは整数を取ります。」そ、それで……???
define config.layers = [ 'master', 'transient', 'screens', 'overlay' ]
show moon onlayer user_layer


###メッチャコードきたなくてすみませんが以下抜粋です###
##参考です。このまま使うと存在しないラベルとかがいっぱいあるのでムリだろう###

label tanspart3:#探索パートナー結果いれ 
screen example_imagemapqq():
    imagemap:
        ground "b1_base.png"
        idle "b1_off.png"
        hover "b1_on.png"
        
        hotspot (700, 524, 103, 55) clicked Return("go home")#帰るべ^ス
        hotspot (814, 520, 103, 55) clicked Return("make")#帰るせいせい
        hotspot (927, 520, 103, 55) clicked Return("talk")#帰るかんない
        hotspot (5, 465, 521, 135) clicked Return("tuto")
        
        if fav == 1:#破壊されていなければ以下が出る?
            hotspot (1011, 38, 55, 42) clicked Return("favrr")#帰るべ^ス
        if fav == 2:#破壊されていなければ以下が出る?
            hotspot (1011, 87, 55, 42) clicked Return("favyy")#帰るせいせい
        if fav == 3:#破壊されていなければ以下が出る?
            hotspot (1011, 127, 55, 42) clicked Return("favgg")#帰るかんない
        if fav == 4:#破壊されていなければ以下が出る?
            hotspot (1011, 176, 55, 44) clicked Return("favbb")#帰るべ^ス
            
        if fav == 5:#破壊されていなければ以下が出る?
            hotspot (1011, 240, 55, 46) clicked Return("favoo")#帰るせいせい
        if fav == 6:#破壊されていなければ以下が出る?
            hotspot (1011, 290, 59, 46) clicked Return("favkk")#帰るかんない
        if fav == 7:#破壊されていなければ以下が出る?
            hotspot (1011, 339, 55, 42) clicked Return("favmm")#帰るせいせい
        if fav == 8:#破壊されていなければ以下が出る?
            hotspot (1011, 385, 55, 42) clicked Return("favpp")#帰るかんない
        
label exampleqq:
    
    call screen example_imagemapqq
    
    $ result = _return
    if result == "favrr":
#        e "You went homはなすe!"   
        jump favj
    elif result == "favyy":
#        e "You went homはなすe!"   
        jump favj
    elif result == "favgg":
#        e "You went homはなすe!"   
        jump favj
    elif result == "favbb":
#        e "You went homはなすe!"   
        jump favj       
        
    elif result == "favoo":
#        e "You went homはなすe!"   
        jump favj
    elif result == "favkk":
#        e "You went homはなすe!"   
        jump favj
    elif result == "favmm":
#        e "You went homはなすe!"   
        jump favj
    elif result == "favpp":
#        e "You went homはなすe!"   
        jump favj
    elif result == "go home":#ベースへ帰る
#        e "You went home!"
        jump fcbase
        
    elif result == "make":
#        e "You picked ちゅしゅるart!"
        jump startmake
#       jump start3
        
    elif result == "talk":
#        e "You went homはなすe!"  
        jump talk
        
       # jump start3
    elif result == "tuto":
        $ renpy.pause()
        jump tanken
        
    return
    
PR
Comment
color
name
subject
mail
url
comment
pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
ブログ内検索
このブログについて
ゲーム作りたい人のメモ。
講座というほどのものでもないおぼえがきです。
何か参考になるところがあればご自由にどうぞ。
ほぼ自分用なので、日本語いきあたりばったりでごめんなまし。

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

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