找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6397|回复: 0

[教程] 层叠式图像(Layered Images)-脚本示例注解+随机生成

[复制链接]
发表于 2020-10-4 21:39:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 龙氏 于 2020-10-4 22:04 编辑

随手写,见此贴:https://www.renpy.cn/forum.php?mod=viewthread&tid=653

素材图来源地址(作者:leon,并剔除不必要文件):[tutorial] Dress up game - Lemma Soft Forums
images.zip (763.91 KB, 下载次数: 27)
素材直接解压到工程:game\images文件夹里。

层叠式图像(Layered Images)-效果图

层叠式图像(Layered Images)-效果图


一 ,注解脚本:
[RenPy] 纯文本查看 复制代码
# 游戏的脚本可置于此文件中。

## 图片文件名未修改。
layeredimage someone: ## layeredimage语句,名:someone

    ## always语句
    always:
        "base" ## 身体(光身),底图。

    ## Group语句,相当于定义不同组件。
    group glasses: ## 定义不同【眼镜】。

        attribute glasses1 default: ## 指定默认【眼镜】(加了:default)
            "glasses1" ## 显示的是身体(光身)图,也就是无眼镜。

        attribute glasses2:
            "glasses2" ## 其它眼镜图,下面类似。

        attribute glasses3:
            "glasses3" ## 眼镜图3

        attribute glasses4:
            "glasses4" ## 眼镜图4

    group hair: ## 定义不同【头发】。

        attribute hair1 default: ## 此为默认【头发】(加了:default)
            "hair1" ## 头发1 (默认)

        attribute hair2:
            "hair2"## 头发2 

        attribute hair3:
            "hair3"## 头发3 

        attribute hair4:
            "hair4"

        attribute hair5:
            "hair5"
        attribute hair6:
            "hair6"
        attribute hair7:
            "hair7"
 
    group shirt: ## 定义不同【衬衫】。

        attribute shirt1 default:
            "shirt1" ## 衬衫1(默认)
        attribute shirt2:
            "shirt2" ## 衬衫2
        attribute shirt3:
            "shirt3" ## 衬衫3
 
    group pants: ## 定义不同【裤子】。

        attribute pants1 default:
            "pants1" ## 裤子1(默认)
        attribute pants2:
            "pants2" ## 裤子2
        attribute pants3:
            "pants3" ## 裤子3
 
    group tie: ## 定义不同【领带】。
        attribute tie1:
            "tie1" ## 领带1
        attribute tie2:
            "tie2" ## 领带2
        attribute tie3:
            "tie3" ## 领带3

###############################################

# 游戏在此开始。
label start:

    show someone

#    pause ## 有对话文本用不着。
    "显示默认人物图像"

    show someone glasses2 hair2 pants2 shirt2 tie2 ## 看名字,就知道指定显示那个部件图像。
    "显示指定部件人物图像"

#    pause
    # 此处为游戏结尾。
    return



二,随机生成脚本:
[RenPy] 纯文本查看 复制代码
# 游戏的脚本可置于此文件中。

## 层叠式图像,实现随即生成。
## 注意随机数值区间,要有对应数字名称图像,
default glasses_random =  renpy.random.randint(1, 4) # 【眼镜】 返回一个介于1到4之间的随机整数。

default hair_random =  renpy.random.randint(1, 7) ## 【头发】介于1到7之间的随机整数。

default shirt_random =  renpy.random.randint(1, 3) ## 【衬衫】

default pants_random =  renpy.random.randint(1, 3) ## 【裤子】

default tie_random =  renpy.random.randint(1, 3) # 【领带】

## layeredimage语句,实现随机。
layeredimage someone_random: ## layeredimage语句,名:someone_random (注意名字)

    ## always语句
    always:
        "base" ## 身体(光身),底图不动。

    ## Group语句,相当于定义不同组件。
    group glasses: ## 定义不同【眼镜】。

        attribute glasses1 default: ## 指定默认【眼镜】(default).
            "glasses[glasses_random]" ## 显示的是身体(光身)图,也就是无眼镜。

    group hair: ## 定义不同【头发】。

        attribute hair1 default:
            "hair[hair_random]" ## 头发1 (默认)

    group shirt: ## 定义不同【衬衫】。

        attribute shirt1 default:
            "shirt[shirt_random]" ## 衬衫1(默认)

    group pants: ## 定义不同【裤子】。

        attribute pants1 default:
            "pants[pants_random]" ## 裤子1(默认)

    group tie: ## 定义不同【领带】。
        attribute tie1:
            "tie[glasses_random]" ## 领带1

###############################################

# 游戏在此开始。
label start:

    show someone_random ## 显示随机组合图。

    "随机组合人物图像。\n原理:图片名后的数值改为变量(随机改变)"

    ## 刷新数值,重新生成随机数。
    $ glasses_random =  renpy.random.randint(1, 4) # 【眼镜】
    $ hair_random =  renpy.random.randint(1, 7) ## 【头发】
    $ shirt_random =  renpy.random.randint(1, 3) ## 【衬衫】
    $ pants_random =  renpy.random.randint(1, 3) ## 【裤子】
    $ tie_random =  renpy.random.randint(1, 3) # 【领带】

    ## 再次显示随机组合图。
    show someone_random
    "刷新数值,再次显示随机组合图。\n是不是又不一样?"

    # 此处为游戏结尾。
    return

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|RenPy中文空间 ( 苏ICP备17067825号|苏公网安备 32092302000068号 )

GMT+8, 2024-12-23 01:28 , Processed in 0.122439 second(s), 32 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表