使用python3和pygame包小练游戏玩耍 --绚丽的颜色
2018-01-03 23:12
507 查看
#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Wed Jan 3 21:02:38 2018 @author: lisir """ # import pygame from sys import exit background_image_filename = "./tmp/meixi1.jpg" pygame.init() SCREEN_SIZE = (1000, 563) try: screen = pygame.display.set_mode(SCREEN_SIZE) except pygame.error: print("Can't create the display!") exit() new_colors = pygame.Surface((4096, 4096), depth=24) for r in range(256): print(r + 1) print("out of 256") x = (r & 15)*256 y = (r >> 4)*256 for g in range(256): for b in range(256): new_colors.set_at((x + g, y + b), (r, g, b)) pygame.image.save(new_colors, "new_colors.bmp") # background = pygame.image.load(new_colors).convert() while True: screen.blit(new_colors, (0, 0)) pygame.display.update()
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Wed Jan 3 21:02:38 2018
@author: lisir
"""
#
import pygame
from sys import exit
background_image_filename = "./tmp/meixi1.jpg"
pygame.init()
screen = pygame.display.set_mode((640, 480), 0, 32)
def create_scales(height):
red_scale_surface = pygame.surface.Surface((640, height))
green_scale_surface = pygame.surface.Surface((640, height))
blue_scale_surface = pygame.surface.Surface((640, height))
for x in range(640):
c = int((x/640.)*255.)
red = (c, 0, 0)
green = (0, c, 0)
blue = (0, 0, c)
line_rect = pygame.Rect(x, 0, 1, height)
pygame.draw.rect(red_scale_surface, red, line_rect)
pygame.draw.rect(green_scale_surface, green, line_rect)
pygame.draw.rect(blue_scale_surface, blue, line_rect)
return red_scale_surface, green_scale_surface, blue_scale_surface
red_scale, green_scale, blue_scale = create_scales(80)
color = [127, 127, 127]
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
screen.fill((0, 0, 0))
screen.blit(red_scale, (0, 00))
screen.blit(green_scale, (0, 80))
screen.blit(blue_scale, (0, 160))
x, y = pygame.mouse.get_pos()
if pygame.mouse.get_pressed()[0]:
for component in range(3):
if y > component*80 and y < (component+1)*80:
color[component] = int((x/639.)*255.)
pygame.display.set_caption("PyGame Color Test - "+str(tuple(color)))
for component in range(3):
pos = ( int((color[component]/255.)*639), component*80+40 )
pygame.draw.circle(screen, (255, 255, 255), pos, 20)
pygame.draw.rect(screen, tuple(color), (0, 240, 640, 240))
pygame.display.update()
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Wed Jan 3 21:02:38 2018
@author: lisir
"""
#
import pygame
from sys import exit
background_image_filename = "./tmp/meixi1.jpg"
pygame.init()
screen = pygame.display.set_mode((640, 480), 0, 32)
color1 = (150, 100, 20)
color2 = (0, 130, 255)
factor = 0.
def blend_color(color1, color2, blend_factor):
r1, g1, b1 = color1
r2, g2, b2 = color2
r = r1 + (r2 - r1) * blend_factor
g = g1 + (g2 - g1) * blend_factor
b = b1 + (b2 - b1) * blend_factor
return int(r), int(g), int(b)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
screen.fill((255,255,255))
tri = [ (0, 120), (639, 100), (639, 140) ]
pygame.draw.polygon(screen, (0, 255, 0), tri)
pygame.draw.circle(screen, (0, 0, 0), (int(factor * 639.0), 120), 10)
x, y = pygame.mouse.get_pos()
if pygame.mouse.get_pressed()[0]:
factor = x / 639.0
pygame.display.set_caption("Pygame Color Blend Test - %.3f" % factor)
color = blend_color(color1, color2 , factor)
pygame.draw.rect(screen, color, (0, 240, 640, 240))
pygame.display.update()使用两种颜色混合,如果想换其他两种颜色,修改color1和color2参数值。
相关文章推荐
- 使用python3和pygame包小练游戏玩耍 --屏幕显示
- 使用python3和pygame包小练游戏玩耍
- 使用python3和pygame包小练游戏玩耍 --事件类
- 使用python3和pygame包小练游戏玩耍 --文字显示
- Python -- 游戏开发 -- PyGame的使用
- 如何使用Python基于Pygame写一个简易的微信打飞机游戏。
- Python使用pygame模块编写俄罗斯方块游戏的代码实例
- 用Python和Pygame写游戏-从入门到精通(5)像素、色彩、颜色
- python使用pygame框架实现推箱子游戏
- python+pygame游戏开发之使用Py2exe打包游戏
- Python使用pygame模块编写俄罗斯方块游戏的代码实例
- Python:pygame游戏编程之旅七(pygame基础知识讲解1)
- python pygame模块的使用
- Python 猜价格游戏:if学习使用(1)
- 使用 Python 进行游戏脚本编程
- Python+pyGame 打砖块游戏
- python3使用tkinter做界面之颜色
- 用Python和Pygame写游戏-从入门到精通
- Python:pygame游戏编程之旅六(游戏中的声音处理)
- Python:pygame游戏编程之旅二(自由移动的小球)