找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 16550|回复: 4

[已解决] 关于自定义函数调用时显示expected statement.

[复制链接]
发表于 2021-5-21 11:03:12 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 wataryuu 于 2021-5-24 08:11 编辑

我想让一个角色的立绘可以按照我想的来替换,所以定义了一个函数:
[RenPy] 纯文本查看 复制代码
def nowfgi(s):
    image side nowfgi = s
    image side nowfgi n = s
    image nowfgi n = s
    image nowfgi = s
    pass

调用的时候的代码:
[RenPy] 纯文本查看 复制代码
nowfgi('ryuubakuri.png')

但是却发生了错误:
expected statement.


  1. I'm sorry, but errors were detected in your script. Please correct the
  2. errors listed below, and try again.


  3. File "game/rpy/the1.rpy", line 5: expected statement.
  4.     def nowfgi(s):
  5.               ^

  6. File "game/rpy/the1.rpy", line 28: expected statement.
  7.     nowfgi('ryuubakuri.png')
  8.                             ^

  9. Ren'Py Version: Ren'Py 7.4.4.1439
  10. Fri May 21 10:55:01 2021
复制代码
这是为什么,究竟是否可以用函数的方法来做这样的操作。



发表于 2021-5-21 16:27:31 | 显示全部楼层
你这是属于调用python语句,而renpy并不是python,它是基于python开发的引擎。
所以想要使用python语句,必须在def前面加一个调用语句init python:
比如你的应该修改为
init -1 python:
    def nowfgi(s):
    image side nowfgi = s
    image side nowfgi n = s
    image nowfgi n = s
    image nowfgi = s
    pass
其中的-1,是指语句执行优先级,具体的可以去翻一翻文档。
回复 支持 1 抱歉 0

使用道具 举报

 楼主| 发表于 2021-5-21 23:54:13 | 显示全部楼层
Zealot001 发表于 2021-5-21 16:27
你这是属于调用python语句,而renpy并不是python,它是基于python开发的引擎。
所以想要使用python语句,必 ...

  1. I'm sorry, but errors were detected in your script. Please correct the
  2. errors listed below, and try again.


  3. File "game/rpy/the1.rpy", line 29: expected statement.
  4.     nowfgi('ryuubakuri.png')
  5.                             ^

  6. File "game/rpy/the1.rpy", line 7: expected an indented block
  7.     image side nowfgi = s
  8.          ^
  9.    

  10. Ren'Py Version: Ren'Py 7.4.4.1439
  11. Fri May 21 23:50:58 2021
复制代码

我照例改了,但依然发生了错误。
还有问题就是image 的操作不应该是renpy的语句而非python的语句吗?
回复 支持 抱歉

使用道具 举报

发表于 2021-5-22 14:59:05 | 显示全部楼层
wataryuu 发表于 2021-5-21 23:54
我照例改了,但依然发生了错误。
还有问题就是image 的操作不应该是renpy的语句而非python的语句吗? ...

image的操作是renpy的语句,但是你的语句块实在def的语句块里面执行的,def不是renpy的语句。
你把python语句和renpy语句混用,当然不行,我之前确实没留意你的代码。
你只是单纯操作image,可以用image语句,也可以用show语句,具体的看文档,文档里有例子。
另外,你想替换立绘的这个,完全不需要定义函数,在文档里面的快速入门——角色和图像里面就有相应的教学。
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2021-5-22 21:31:13 | 显示全部楼层
Zealot001 发表于 2021-5-22 14:59
image的操作是renpy的语句,但是你的语句块实在def的语句块里面执行的,def不是renpy的语句。
你把python ...

但是我想在程序中用一句话就可以代替这四句语句的功能,比如上面利用函数的调用。
回复 支持 抱歉

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 19:41 , Processed in 0.116865 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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