Android游戏案例开发大全Sample_2_9不能完全运行的解决方法
代码的运行结果与预期不同
我首先把案例中的代码粘贴到MySurfaceView.java文件中,然后编译运行,但结果与预期不同,有两部分图片没有显示出来。
如图所示
发现原因
通过查看Logcat,发现了这行代码
2021-01-03 10:43:21.278 16054-16054/com.example.sample_2_9 W/System.err: java.lang.IllegalArgumentException: Invalid Region.Op - only INTERSECT and DIFFERENCE are allowed
他的意思是canvas.clipRect()函数中参数Region.Op只可以用INTERSECT和DIFFERENCE ,而没显示的部分使用了canvas.clipRect()函数中参数Region.Op的UNION和REPLACE。将canvas.clipRect()函数中参数Region.Op修改为INTERSECT和DIFFERENCE,为代码可以运行。
结果如图所示