对self.view 的方法exchangeSubviewAtIndex: withSubviewAtIndex:的理解

例如,我在一个self.view 中加入了三个view分别是( red , blue , green )简写成( r ,  b , g  )
先是这样的次序( r ,g , b  )==( 0 , 1 , 2 )
[ self.viewexchangeSubviewAtIndex: 1  withSubviewAtIndex:2
];
运行后-》(r ,b , g )
self.view exchangeSubviewAtIndex: 0  withSubviewAtIndex2
 ];
运行后-》(g ,b , r )
self.view exchangeSubviewAtIndex: 0  withSubviewAtIndex1
 ];
运行后-》(g ,b, r )
self.view exchangeSubviewAtIndex: 2  withSubviewAtIndex: 0
 ];
运行后-》(r ,b , g )


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
``` # 定义实体类,继承自 pygame.sprite.Sprite class Entity(pygame.sprite.Sprite): # 初始化方法,传入一个 sprite 组 def __init__(self, groups): # 调用父类的初始化方法 super().__init__(groups) # 定义一些属性 self.frame_index = 0 self.animation_speed = 0.15 self.direction = pygame.math.Vector2() # 移动方法,传入速度值 def move(self, speed): # 如果方向向量的大小不为零 if self.direction.magnitude() != 0: # 将方向向量归一化 self.direction = self.direction.normalize() # 根据方向和速度调整 hitbox 的 x 坐标 self.hitbox.x += self.direction.x * speed # 检测水平方向的碰撞 self.collision('horizontal') # 根据方向和速度调整 hitbox 的 y 坐标 self.hitbox.y += self.direction.y * speed # 检测垂直方向的碰撞 self.collision('vertical') # 将 rect 的中心点设置为 hitbox 的中心点 self.rect.center = self.hitbox.center # 碰撞检测方法,传入方向参数 def collision(self, direction): # 如果是水平方向 if direction == 'horizontal': # 遍历障碍物组中的每一个 sprite for sprite in self.obstacle_sprites: # 如果 hitbox 和障碍物的 hitbox 相交 if sprite.hitbox.colliderect(self.hitbox): # 如果实体向右移动 if self.direction.x > 0: # 将 hitbox 的右边界设置为障碍物的左边界 self.hitbox.right = sprite.hitbox.left # 如果实体向左移动 if self.direction.x < 0: # 将 hitbox 的左边界设置为障碍物的右边界 self.hitbox.left = sprite.hitbox.right # 如果是垂直方向 if direction == 'vertical': # 遍历障碍物组中的每一个 sprite for sprite in self.obstacle_sprites: # 如果 hitbox 和障碍物的 hitbox 相交 if sprite.hitbox.colliderect(self.hitbox): # 如果实体向下移动 if self.direction.y > 0: # 将 hitbox 的下边界设置为障碍物的上边界 self.hitbox.bottom = sprite.hitbox.top # 如果实体向上移动 if self.direction.y < 0: # 将 hitbox 的上边界设置为障碍物的下边界 self.hitbox.top = sprite.hitbox.bottom # 计算正弦函数的值 def wave_value(self): # 根据时间计算正弦函数的值 value = sin(pygame.time.get_ticks()) # 如果值大于等于 0,返回 255 if value >= 0: return 255 # 否则返回 0 else: return 0 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值