Learning From Here

import pygame
import sys pygame.init() screen_width = 640
screen_high = 480 screen = pygame.display.set_mode((screen_width, screen_high))
screen_rect = screen.get_rect() pygame.display.set_caption("Moving Fish") background_image_filename = 'sushiplate.png'
mouse_image_fliename = 'fugu.png' background_image = pygame.image.load(background_image_filename).convert()
mouse_image = pygame.image.load(mouse_image_fliename).convert_alpha() mouse_image_rect = mouse_image.get_rect() clock = pygame.time.Clock() while True: #限制每秒循环100次,防止大量占用cpu
clock.tick(100) for event in pygame.event.get(): if event.type == pygame.QUIT:
pygame.quit()
sys.exit() if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
pygame.quit()
sys.exit() screen.blit(background_image, (0, 0)) #获取鼠标位置
x, y = pygame.mouse.get_pos() mouse_image_rect.center = (x, y) #设置图片移动边界
if mouse_image_rect.left < 0:
mouse_image_rect.left = 0
if mouse_image_rect.right > screen_rect.right:
mouse_image_rect.right = screen_rect.right
if mouse_image_rect.top < 0:
mouse_image_rect.top = 0
if mouse_image_rect.bottom > screen_rect.bottom:
mouse_image_rect.bottom = screen_rect.bottom screen.blit(mouse_image, mouse_image_rect) pygame.display.update()

运行截图:

本次使用的两张图片资源:

背景:sushiplate.jpg

光标:fugu.png

【pygame游戏编程】第二篇-----移动图像的更多相关文章

  1. PC游戏编程(入门篇)(前言写的很不错)

    PC游戏编程(入门篇) 第一章 基石 1. 1 BOSS登场--GAF简介 第二章 2D图形程式初体验 2.l 饮水思源--第一个"游戏"程式 2.2 知其所以然一一2D图形学基础 ...

  2. 【pygame游戏编程】第一篇-----创建一个窗口

    下面我们一起来创建一个背景为蓝色的窗口作为游戏编程的开始: import sys import pygame def creat_screen(): #初始化pygame pygame.init() ...

  3. 如何制作一款HTML5 RPG游戏引擎——第二篇,烟雨+飞雪效果

    今天我们来实现烟雨+飞雪效果.首先来说,一款经典的RPG游戏难免需要加入天气的变化.那么为了使我们的RPG游戏引擎更完美,我们就只好慢慢地实现它. 本文为该系列文章的第二篇,如果想了解以前的文章可以看 ...

  4. 自定义View5 -塔防小游戏:第二篇防御塔随意放置

    第一篇:一个防御塔+多个野怪(简易版) 第二篇:防御塔随意放置 自定义View,处理事件分发,up,move,down. 第三篇:防御塔随意放置+多组野怪 第四篇:多波野怪 第五篇:杀死野怪获得金币 ...

  5. 【pygame游戏编程】第四篇-----打字测速游戏

    下面我们一起用pygame编写一个打字测速游戏 这是一个很实用的有趣的小游戏: 开始之前先来学习几个小函数: 1. ord(ch) python内置函数,传入一个字符,返回字符的ascii码 2.ch ...

  6. 【pygame游戏编程】第五篇-----动画显示

    import pygame import sys import os pygame.init() #窗口居中 os.environ[' screen_width = 600 screen_high = ...

  7. [转]12篇学通C#网络编程——第二篇 HTTP应用编程(上)

    本文转自:http://www.cnblogs.com/huangxincheng/archive/2012/01/09/2316745.html 我们学习网络编程最熟悉的莫过于Http,好,我们就从 ...

  8. Python 项目实践一(外星人入侵小游戏)第二篇

    接着上次的继续学习. 一 创建一个设置类 每次给游戏添加新功能时,通常也将引入一些新设置.下面来编写一个名为settings的模块,其中包含一个名为Settings的类,用于将所有设置存储在一个地方, ...

  9. 网络编程[第二篇]基于udp协议的套接字编程

    udp协议下的套接字编程 一.udp是无链接的    不可靠的 而上篇的tcp协议是可靠的,会有反馈信息来确认信息交换的完成与否 基于udp协议写成的服务端与客户端,各司其职,不管对方是否接收到信息, ...

随机推荐

  1. MySQL DDL--ghost执行模板和参数

    常用GHOST模板 ##================================================## mysql_ip="127.0.0.1" mysql_ ...

  2. WPF 依赖属性&附加属性

    依赖属性 暂无 附加属性 1.在没有控件源码的前提下增加控件的属性 2.多个控件需要用到同一种属性 使用附加属性可以减少代码量,不必为每一个控件都增加依赖属性 3.属性不确定是否需要使用 在某些上下文 ...

  3. 11.翻译系列:在EF 6中配置一对零或者一对一的关系【EF 6 Code-First系列】

    原文链接:https://www.entityframeworktutorial.net/code-first/configure-one-to-one-relationship-in-code-fi ...

  4. zookeeper日志级别

    查看源代码得知zookeeper(版本3.4.13)内部的日志用的slf4j,项目启动zk连接了之后一直在打debug日志(如下所示),甚是讨厌,logback日志级别调成info没用. 17:24: ...

  5. 本地连接虚拟机 Oracle数据库 报ORA-12541:TNS:no listener

    一.环境 本机环境:win10,pl/sql Developer 虚拟机环境:win10,oracle 11g 1.本机和虚拟机互相ping都可以ping通. 2.虚拟机监听程序已启动. 二.配置文件 ...

  6. Python 绝技 —— UDP 服务器与客户端

    i春秋作家:wasrehpic 0x00 前言 在上一篇文章「Python 绝技 —— TCP 服务器与客户端」中,介绍了传输层的核心协议 TCP ,并运用 Python 脚本的 socket 模块演 ...

  7. ElasticSearch核心知识总结(二)

    如何超出扩容极限,以及如何提升容错性 primary&replica自动负载均衡,6个shared,3个primary,3个replica,随着机器扩容,会被均衡分配到多台机器上 6个shar ...

  8. 分布式任务调度系统xxl-job搭建

    为解决分布式环境下定时任务的可靠性,稳定性,只执行一次的特性,我找到了个大众点评开源的分布式调度任务解决完整系统,下面我将一步步深入解读该系统,从基本的使用到源码的探究 下载 https://gith ...

  9. Spring 声明事务中transactionAttributes属性 + - Exception 实现逻辑

    下面是一段典型的Spring 声明事务的配置: <bean id=“baseTxProxy” lazy-init=“true”class=“org.springframework.transac ...

  10. Pycharm 连接Linux 远程开发

    Pycharm 连接Linux 远程开发 在Liunx上安装python3.6(Ubuntu16) 下载Python-3.6.4.tgz 解压 tar -xzvf Python-3.6.4.tgz 进 ...