pygame.draw.line

import traceback
import math
import pygame
from pygame.locals import *

pygame.display.init()
pygame.font.init()

sizes = {
    "screen" : ( 300, 480 )
}

colors = {
    "line" : ( 255, 255, 255 ),
    "rect" : ( 100, 100, 100 ),
    "circle" : ( 100, 100, 100 ),
    "border" : ( 52, 135, 184 ),
    "background" : ( 255, 255, 255 )
}

screen = pygame.display.set_mode( sizes["screen"], 0, 32 )

def cin():
    for e in pygame.event.get():
        mouse_pos = pygame.mouse.get_pos()
        print mouse_pos
        if e.type == KEYDOWN:
            if e.key == K_ESCAPE:
                return False
    return True            

def draw():
    screen.fill( colors["background"] )
    ### 1
    pygame.draw.line( screen,
                      colors["border"],
                      ( 0, 0 ),
                      ( 0, sizes["screen"][1] ),
                      10 )
    pygame.draw.line( screen,
                      colors["line"],
                      ( 0, 0 ),
                      ( 0, sizes["screen"][1] ),
                      1 )

    ### 2
    pygame.draw.line( screen,
                      colors["border"],
                      ( 100, 0 ),
                      ( 100, 300 ),
                      10 )
    pygame.draw.line( screen,
                      colors["line"],
                      ( 100, 0 ),
                      ( 100, 300 ),
                      1 )

    ### 3
    pygame.draw.line( screen,
                      colors["border"],
                      ( 200, 100 ),
                      ( 200, -100 ),
                      10 )
    pygame.draw.line( screen,
                      colors["line"],
                      ( 200, 100 ),
                      ( 200, -100 ),
                      1 )

    ### 4
    pygame.draw.line( screen,
                      colors["border"],
                      ( sizes["screen"][0], 0 ),
                      ( sizes["screen"][0], sizes["screen"][1] ),
                      10 )
    pygame.draw.line( screen,
                      ( 255, 255, 255 ),
                      ( sizes["screen"][0], 0 ),
                      ( sizes["screen"][0], sizes["screen"][1] ),
                      1 )

    ### 5
    pygame.draw.circle( screen, colors["circle"], ( 100, 100 ), 50 )
    pygame.draw.arc( screen, colors["circle"], ( 150, 150, 100, 100 ), 0, math.pi, 2 )

    ### 6
    X = 10 / 2 + 1
    DX = 100 - ( ( ( 10 / 2 ) + 1 ) + ( ( 10 / 2 ) - 1 ) )
    pygame.draw.rect( screen,
                      colors["rect"],
                      ( X, 200, DX, 50 ) )
    pygame.display.update()

def prepare( func ):
    def _pre():
        pygame.event.set_grab( True )
        func()
        pygame.event.set_grab( False )
        pygame.quit()
    return _pre

@prepare
def main():
    while True:
        if not cin():
            break
        draw()

if __name__ == '__main__':
    try:
        main()
    except:
        traceback.print_exc()
        pygame.quit()
        input()

### 2 左右两边蓝不一样宽, ### 1 和 ### 3 不一样宽

==> 先按照元线段上色,再在右边上色,再在左边上色,所以左右长度各为 width / 2 - 1, width / 2 + 1

### 5

==> PyGame 画弧线真难看。

### 6 若要填充矩形,先计算好。(连小学数学也要为难我。。。。)

时间: 2024-10-02 12:19:45

pygame.draw.line的相关文章

pygame 练习之 PIE game (以及简单图形训练)

简单的大饼游戏,掌握pygame中直线以及圆弧的画法,以及对输入的响应. 1 import math 2 import pygame, sys 3 from pygame.locals import * 4 pygame.init() 5 screen = pygame.display.set_mode((600, 500)) 6 pygame.display.set_caption("The Pie Game -- Press 1 2 3 4") 7 myfont = pygame.

【python游戏编程之旅】第一篇---初识pygame

本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 参考书籍:<python游戏编程入门> 一.pygame简介 Pygame 是一组用来开发游戏软件的 Python 程序模块,基于 SDL 库的基础上开发.允许你在 Python 程序中创建功能丰富的游戏和多媒体程序,Pygame 是一个高可移植性的模块可以支持多个操作系统.用它来开发小游戏非常适合. 可以去http://www.pygame.org/hifi.html 下载并安装使用pygame. 二

pygame系列_draw游戏画图

说到画图,pygame提供了一些很有用的方法进行draw画图. ''' pygame.draw.rect - draw a rectangle shape draw a rectangle shape pygame.draw.polygon - draw a shape with any number of sides draw a shape with any number of sides pygame.draw.circle - draw a circle around a point d

pygame系列_小球完全弹性碰撞游戏

之前做了一个基于python的tkinter的小球完全碰撞游戏: 今天利用业余时间,写了一个功能要强大一些的小球完全碰撞游戏: 游戏名称: 小球完全弹性碰撞游戏规则: 1.游戏初始化的时候,有5个不同颜色的小球进行碰撞 2.玩家可以通过在窗口中单击鼠标左键进行增加小球个数 3.玩家可以通过在窗口中单击鼠标右键进行删减小球个数 4.玩家可以通过键盘的方向键:上,右键进行对小球加速 5.玩家可以通过键盘的方向键:下,左键进行对小球减速 6.玩家可以按键盘:f键实现全屏显示 7.玩家可以按键盘:Esc

pygame 画图形

#-*-coding:utf-8-*-import pygamefrom pygame.locals import *from sys import exit#thcolors 用于加载颜色进来from pygame.color import THECOLORSimport timepygame.init()screen = pygame.display.set_mode((700, 480), 0, 32)pygame.display.set_caption((r'python 画图工具').

Pygame 打方块

                                    import traceback import random import pygame from pygame.locals import * pygame.display.init() pygame.font.init() sizes = { "screen" : ( 300, 480 ) } colors = { "font" : ( 138, 69, 252 ), "block

Make Games with Python & Pygame (2)

接着上次的继续. 简单的画图函数 Pygame给我们提供了几个简单的画图函数,比如画矩形,圆,椭圆,线,独立的像素点. 下面这个程序就实现了一些简单画图的操作 import pygame, sys from pygame.locals import * pygame.init() DISPLAYSURF = pygame.display.set_mode((500,400),0,32) BLACK = (0, 0 , 0) WHITE = (255, 255, 255) RED = (255,

使用pygame实现一个简单的五子棋游戏

前言写程序已经丢掉很长一段时间了,最近觉得完全把技术丢掉可能是个死路,还是应该捡起来,所以打算借CSDN来记录学习过程, 由于以前没事的时候断断续续学习过python和用flask框架写过点web,所以第一步想捡起python,但是,单纯学习python有点枯燥,正好看到pygame,感觉还挺简单,所以想先写个小游戏练练手. 准备python基础相关准备: pygame的基础知识,参考目光博客的“用Python和Pygame写游戏-从入门到精通” 安装python 3.8.0 在python官网

python+pygame制作一个可自定义的动态时钟和详解

1.效果图 2.完整代码 #第1步:导出模块 import sys, random, math, pygame from pygame.locals import * from datetime import datetime, date, time #第2步:初始化和窗扣大小的设置 pygame.init() #这一步必须放在模块之后,对pygame很重要 #screen = pygame.display.set_mode((800, 600)) #定义窗口大小 screen = pygame