| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- # -*- coding: UTF-8 -*-
- import pygame
- import os
- import sys
- import time
- import abc
- from PIL import Image
- #从模式RGB转换为“L”模式时按照下面的公式转换的L = R*299/1000 + G*578/1000 + B*114/1000
- #https://blog.csdn.net/misaka_s/article/details/76668511
- class BaseImage(object):
- """在背景屏幕打印一个图片打基础"""
- def __init__(self,bgScreen):
- try:
- self.imageName = self.imageName
- except AttributeError as e:
- #error:has not attribute
- self.imageName = "./images/bomb-2.gif"
- #打开图像文件。不想检测错误了
- self.img = Image.open(self.imageName)
- #获取图片的尺寸
- self.imgWidth = self.img.width
- self.imgHeight = self.img.height
- #设置要显示内容打窗口
- self.bScreen = bgScreen
- self.imageScreen = pygame.image.load(self.imageName).convert()
- #显示图片
- def display(self):
- self.bScreen.screen.blit(self.imageScreen,(self.x,self.y))
- #向左
- def moveLeft(self,speed=10):
- if self.x > (speed - 10 -self.imgWidth/2):
- self.x -= speed
- else:
- self.x = spped - 10 - self.imgWidth/2
- #向右
- def moveRight(self,speed=10):
- if self.x < (self.bScreen.x - speed - self.imgWidth/2):
- self.x += speed
- else:
- self.x = self.bScreen.x - speed - self.imgWidth/2
- #向上
- def moveUp(self,speed=10):
- if self.y > speed:
- self.y -= speed
- else:
- self.y = 0
- #向下
- def moveDown(self,speed=10):
- if self.y < (self.bScreen.y - self.imgHeight - speed):
- self.y += speed
- else:
- self.y = self.bScreen.y - self.imgHeight
|