Processing中Tile类报语法错误,在线Java编译器运行正常,求原因
问题原因及解决办法
这个问题出在Processing的代码预处理器和标准Java编译器的逻辑差异上,你的Tile类在标准Java环境中合法,但Processing的预解析规则会触发语法检测问题,具体解决思路如下:
调整类定义位置
如果Tile类和setup()、draw()等Processing核心函数写在同一个.pde文件里,必须把Tile类的定义放在所有全局变量、核心函数的前面,不能放在这些函数之后或者内部。Processing预处理器会优先处理类定义,位置错误会导致解析混乱。清除不可见特殊字符
错误提示指向的第28行(类结束括号的下一行)大概率存在不可见的特殊字符,比如全角空格、非标准换行符,这类字符会被Processing预处理器判定为无效输入。直接删除该行所有内容,手动敲一个干净的换行即可。单独存放类到Java文件
把Tile类代码单独放到一个名为Tile.java的文件中(文件名必须和类名完全一致,大小写也要匹配),主逻辑代码留在.pde文件里。Processing会用标准Java编译器处理.java文件,绕过预处理器的特殊解析规则,就能避免这类错误。排查主代码的语法问题
有时候错误提示的位置会有偏差,可能是主代码中调用Tile类的部分存在语法错误,但被预处理器定位到了Tile类后面。可以暂时注释掉调用Tile的代码,单独测试Tile类是否能正常编译,逐步缩小排查范围。
内容的提问来源于stack exchange,提问作者James Hou
相关产品推荐
相关产品推荐

