• 在python的pygame设置彩虹弦:使用汉字变量及代码分析


    #---第1步---导出模块---
    import pygame,sys
    from pygame.locals import *
    import math
    import colorsys
    
    #---第2步--初始化游戏和定义宽和高,屏幕挂起,窗口标题名称---
    #---小彩蛋---中文变量---
    pygame.init()
    屏幕宽,屏幕高=2000,1200
    #宽-500,减去的数值绝对值越大,越往左边靠
    #屏幕高-100,减去的数值越大,往上靠,原因坐标点0,0是左上角顶点
    屏幕中心x坐标,屏幕中心y坐标 = 屏幕宽//2 -500 ,屏幕高//2 - 100
    screen = pygame.display.set_mode((屏幕宽,屏幕高))
    pygame.display.set_caption("多彩正弦线")
    
    #---第3步---定义类:彩虹---
    class 彩虹():
        def __init__(self,radius,color,粗细):
            self.color = color
            #减去多少自己定义,没意义,主要是位置选好即可
            self.x = 屏幕中心x坐标-30
            self.y = 屏幕中心y坐标-30
            self.angle = 0
            #self.radius =radius
            #self.粗细=粗细
        #定义角度
        def setxy(self,angle):
            self.x = int(屏幕中心x坐标+angle)
            self.y = int(屏幕中心y坐标-100*math.sin(math.radians(angle)))
            #画圆点
            pygame.draw.circle(screen,self.color,(self.x,self.y),10, 0)
        #颜色多变叠加
        def coloradd(self):
            #下面的中文变量---主要是玩技术---实际变成还是建议英文或者字母---
            多,彩,色, = colorsys.rgb_to_hls(self.color[0]/255,self.color[1]/255,self.color[2]/255)
            多=多+0.01
            r,g,b=colorsys.hls_to_rgb(多,彩,色)
            #r,g,b=colorsys.rgb_to_hls(多,彩,色) #这样就是报错,一种天蓝色颜色
            self.color=(int(r*255),int(g*255),int(b*255))
    
    #---第4步---主函数定义---
    def main():
        #注意这里有三个对应的值,在__init__定义的:半径,颜色,粗细
        #粗细对应2,可是设置起来没变化,所以上面的self.粗细=粗细可以注释掉,也没有影响
        pen=彩虹(100,(255,0,0),2)
        #引入时钟刷新
        clock=pygame.time.Clock()
        #角度范围或者说彩虹条向左右延伸的长度,可调节,注意与屏幕关系
        for angle in range(-380,880):
            pen.setxy(angle)
            pen.coloradd()
            pygame.display.update()
            #数值越大动画越快,调节速度的,刷新速度
            clock.tick(600)
        
        '''
        #花里胡哨设置while循环
        #这是一个中文设置,玩技术,纯好玩的,大型游戏不建议,有点啰嗦
        #下面可以注释掉:↓
        展示多彩弧度 = True
        while 展示多彩弧度:
            for event in pygame.event.get():
            #点击右上角的x则关闭窗口,必不可少的,我觉得,个人比较喜欢
                if event.type ==pygame.QUIT:
                    展示多彩弧度=False
                    pygame.quit()
                    sys.exit()
                pygame.display.update()
        #上面可以注释掉,↑
        #注意注释掉的pygame,没有while循环,那么运动停止后就自动退出了
        '''
        '''
        #常规设置while循环
        while True:
            for event in pygame.event.get():
                if event.type ==pygame.QUIT:
                    pygame.quit()
                    sys.exit()
                pygame.display.update()
    
        '''
    
    #---第5步--程序入口---相当于是 Python 模拟的程序入口
    if __name__=="__main__":
        main()

    喜欢就关注我的今日头条:易三一世。

  • 相关阅读:
    把字符串输入到表格里
    x 的 x 次方等于10,求 x
    java 中 二进制串与浮点数的相互转化
    堆栈 Objective-C NSString copy strong
    c一些学习过程中突然错过的细节
    视图控制器
    名词从句
    FastDFS
    Python
    http 提交表单数据
  • 原文地址:https://www.cnblogs.com/ysysbky/p/12577311.html
Copyright © 2020-2023  润新知