pythonifelif按数字大小排列_python,if/elif/else语法按注释拆分?

本文介绍了一个使用Pygame实现的滚动面板绘制方法。通过一个名为slot的类,该方法能够在屏幕上正确显示面板上的字符串或数据,即使这些内容超出当前视口范围也能正确绘制其可见部分。文章详细展示了如何根据不同情况调整绘制逻辑。
摘要由CSDN通过智能技术生成

我在pygame中编写了这个函数作为滚动面板的一部分。该函数是名为slot的类的一部分,slot是panel类的一部分,slot是面板上包含字符串或数据的条。此方法将插槽绘制到屏幕,如果屏幕位于插槽之间,则只绘制插槽的一部分。if/elif/else语法把我绊倒了:def mydraw(self,my_pygame,scrn,panel_x,panel_y,scroll_at,window_size,virtual_size):

if((self.yscrollat)):

onscreensy = (self.y-scrollat)+panel_y

onscreeney = onscreensy + self.dim_y

"""the top case"""

if(onscreensy

onscrnwidth = (onscreensy+self.dim_y)-panel_y

onbitmapwidth = self.dim_y-onscrnwidth

holder = self.bitmap.subsurface(0,onbitmapwidth-1,self.dim_x,onbitmapwidth-1)

scrn.blit(holder,(panel_x,panel_y))

"""end top case"""

"""the normal case"""

elif(onscreeney

scrn.blit(self.bitmap,(panel_x,onscreensy))

"""end normal case"""

"""the bottom case"""

else:

onscrnwidth = (panel_y+window_size)-self.y

onbitmapwidth = self.dim_y-onscrnwidth

holder = self.bitmap.subsurface(0,0,self.dim_x,onbitmapwidth-1)

scrn.blit(holder,(panel_x,onscreensy))

"""end bottom case"""

if(self.has_next==True):

self.next.mydraw(my_pygame,scrn,panel_x,panel_y,scroll_at,window_size,virtual_size)

错误:

^{pr2}$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值