当前位置: 首页 > news >正文

长沙专业外贸建站公司/最新军事新闻事件今天

长沙专业外贸建站公司,最新军事新闻事件今天,童装网站建设文案,wordpress文件管理1前言 众所周知,5月20日为“520”情人节,这一天也是即将到来,大家都希望与自己的男神女神过一个浪漫的情人节。但是还有很多像小编这样的单身狗,不知道如何向自己的男神女神表达心意,所以今天小编就教大家用代码的方式…

1前言

众所周知,5月20日为“520”情人节,这一天也是即将到来,大家都希望与自己的男神女神过一个浪漫的情人节。但是还有很多像小编这样的单身狗,不知道如何向自己的男神女神表达心意,所以今天小编就教大家用代码的方式给你的那个她(他)表白。

2准备

这个代码仍然是用简单的python编写的,用到的模块也只有小编以往多次使用pygame,其下载方式依然是用pip安装。只需要在命令行运行以下代码安装即可。

pip install pygame

3详细步骤

首先导入所需的模块以及初始化pygameimport pygame

from pygame import *

pygame.init()

然后设置主窗口以及引入所需要用到的资源文件。fps = 60

fpsClock = pygame.time.Clock()

icon = pygame.image.load('resource/h-2.JPG')

love = pygame.image.load('resource/爱心.png')

font01 = pygame.font.Font('resource/繁星糖果.ttf',80)

font02 = pygame.font.Font('resource/繁星糖果.ttf',50)

screen = pygame.display.set_mode((1000,600))

pygame.display.set_caption('八里公路')

pygame.display.set_icon(icon)

注意:这里所有的资源文件都放在与代码文件同目录下的resource文件中。

这时运行的话会一闪而过。所以还需要写一个主循环来控制显示。running = True

while running:

for event in pygame.event.get():

if event.type == pygame.QUIT:

exit()

fpsClock.tick(fps)

pygame.display.update()

其中的fpsClock,tick()函数为控制程序运行的帧率,也就是一秒运行多少次。作为一个pygame程序主窗口所必备的退出事件,自然是必不可少的,都是固定的用法,看过小编前几期的文章就知道了。

这时候的运行效果为:

图3.1主窗口

这样程序的背景就设置好了,但是一种颜色比较单调,所以可以在主循环处添加几行代码,让背景颜色随着rgb值不停的变化。修改后的代码应为:running = True

r,g,b = 0,0,0

while running:

for event in pygame.event.get():

if event.type == pygame.QUIT:

exit()

screen.fill((r,g,b))

if r >= 255:

b += 5

r = 0

if g >= 255:

r += 5

g = 0

if b >= 125:

b = 0

g += 5

fpsClock.tick(fps)

pygame.display.update()

然后再次运行:

图3.2颜色变化1

图3.3颜色变化2

其中的颜色如何变化可以根据自己或男神女神的喜好来改变。

背景设置好后,就可以在上面布局了。对于每一个文字类型或是图片类型,小编都是用面向对象来编程的,这样的好处是方便处理,同时代码的可读性也比较好。首先编写的是爱心对象,它的属性有坐标,方法有移动、显示。这里先写显示的方法,具体先看代码。class LoveStar(object):

def __init__(self,x,y):

self.x = x

self.y = y

def display(self):

screen.blit(love,(self.x,self.y))

这只是一个爱心的对象,程序还需要多个爱心对象来组成一个大爱心,因为每一个爱心对象只是初始坐标属性不同,所以在初始化类的时候赋予不同位置参数。然后用一个列表来存储所有的爱心对象。最后再在主循环用for循环的方式调用每个爱心对象的移动和显示方法。lovestars = []

lovestars.append(LoveStar(475,100))

lovestars.append(LoveStar(425,75))

lovestars.append(LoveStar(375,100))

lovestars.append(LoveStar(525,75))

lovestars.append(LoveStar(575,100))

lovestars.append(LoveStar(350,150))

lovestars.append(LoveStar(600,150))

lovestars.append(LoveStar(370,200))

lovestars.append(LoveStar(580,200))

lovestars.append(LoveStar(400,250))

lovestars.append(LoveStar(550,250))

lovestars.append(LoveStar(435,300))

lovestars.append(LoveStar(515,300))

lovestars.append(LoveStar(475,340))

lovestars.append(LoveStar(100,400))

lovestars.append(LoveStar(100,500))

lovestars.append(LoveStar(900,400))

lovestars.append(LoveStar(900,500))

lovestars.append(LoveStar(100,600))

lovestars.append(LoveStar(100,700))

lovestars.append(LoveStar(900,600))

lovestars.append(LoveStar(900,700))

for lovestar in lovestars:

lovestar.display()

注意这里每一爱心对象的初始坐标是需要通过自己计算的,小编也是先在纸上画了大概的布局位置的。运行效果如下:

图3.4爱心对象

当然也可以根据自己的情况改变布局方式。爱心显示后然后让它们动起来,小编这里是通过循环滚动的方式来展示窗口中的内容,所以要注意爱心出界后,更新它的位置。def move(self):

if self.y < -50:

self.y = 600

else:

self.y -= 1

此时运行结果:

图3.5爱心的运动

有了图像后,还需添加文字,文字的内容看自己。这里要注意的是pygame中小编没有发现多行文字展示,不知道是不是pygame不支持。所以要想文字换行,只能多写几个文字对象。

例如:class Goddess(object):

def __init__(self):

self.text01 = '女神'

self.text02 = '每'

self.text03 = '天'

self.text04 = '都'

self.text05 = '有'

self.text06 = '喜'

self.text07 = '欢'

self.text08 = '你'

self.text09 = '哦'

self.text010 = '做我女朋友好吗'

self.x01, self.y01 = 425, 150

self.x02, self.y02 = 150, 250

self.x03, self.y03 = 200, 300

self.x04, self.y04 = 250, 350

self.x05, self.y05 = 300, 400

self.x06, self.y06 = 800, 250

self.x07, self.y07 = 750, 300

self.x08, self.y08 = 700, 350

self.x09, self.y09 = 650, 400

self.x010, self.y010 = 325, 600

self.render01 = font01.render(self.text01, True, (128, 0, 0))

self.render02 = font02.render(self.text02, True, (128, 128, 0))

self.render03 = font02.render(self.text03, True, (128, 0, 128))

self.render04 = font02.render(self.text04, True, (0, 128, 128))

self.render05 = font02.render(self.text05, True, (0, 0, 128))

self.render06 = font02.render(self.text06, True, (128, 128, 0))

self.render07 = font02.render(self.text07, True, (128, 0, 128))

self.render08 = font02.render(self.text08, True, (0, 128, 128))

self.render09 = font02.render(self.text09, True, (0, 0, 128))

self.render010 = font02.render(self.text010, True, (128, 128, 0))

def move(self):

if self.y01 < -50:

self.y01 = 600

else:

self.y01 -= 1

if self.y02 < -50:

self.y02 = 600

else:

self.y02 -= 1

if self.y03 < -50:

self.y03 = 600

else:

self.y03 -= 1

if self.y04 < -50:

self.y04 = 600

else:

self.y04 -= 1

if self.y05 < -50:

self.y05 = 600

else:

self.y05 -= 1

if self.y06 < -50:

self.y06 = 600

else:

self.y06 -= 1

if self.y07 < -50:

self.y07 = 600

else:

self.y07 -= 1

if self.y08 < -50:

self.y08 = 600

else:

self.y08 -= 1

if self.y09 < -50:

self.y09 = 600

else:

self.y09 -= 1

if self.y010 < -50:

self.y010 = 600

else:

self.y010 -= 1

def display(self):

screen.blit(self.render01, (self.x01, self.y01))

screen.blit(self.render02, (self.x02, self.y02))

screen.blit(self.render03, (self.x03, self.y03))

screen.blit(self.render04, (self.x04, self.y04))

screen.blit(self.render05, (self.x05, self.y05))

screen.blit(self.render06, (self.x06, self.y06))

screen.blit(self.render07, (self.x07, self.y07))

screen.blit(self.render08, (self.x08, self.y08))

screen.blit(self.render09, (self.x09, self.y09))

screen.blit(self.render010, (self.x010, self.y010))

goddess = Goddess()

如果嫌麻烦,也可以直接写横排文字。同样,文字对象的属性有坐标、内容、render类型,颜色自定。方法也是有移动和显示。然后到这里,程序就写完了。

4最终效果

完整代码如下:import pygame

from pygame import *

pygame.init()

fps = 60

fpsClock = pygame.time.Clock()

icon = pygame.image.load('resource/h-2.JPG')

love = pygame.image.load('resource/爱心.png')

font01 = pygame.font.Font('resource/繁星糖果.ttf',80)

font02 = pygame.font.Font('resource/繁星糖果.ttf',50)

screen = pygame.display.set_mode((1000,600))

pygame.display.set_caption('八里公路')

pygame.display.set_icon(icon)

class LoveStar(object):

def __init__(self,x,y):

self.x = x

self.y = y

def move(self):

if self.y < -50:

self.y = 600

else:

self.y -= 1

def display(self):

screen.blit(love,(self.x,self.y))

class Goddess(object):

def __init__(self):

self.text01 = '女神'

self.text02 = '每'

self.text03 = '天'

self.text04 = '都'

self.text05 = '有'

self.text06 = '喜'

self.text07 = '欢'

self.text08 = '你'

self.text09 = '哦'

self.text010 = '做我女朋友好吗'

self.x01, self.y01 = 425, 150

self.x02, self.y02 = 150, 250

self.x03, self.y03 = 200, 300

self.x04, self.y04 = 250, 350

self.x05, self.y05 = 300, 400

self.x06, self.y06 = 800, 250

self.x07, self.y07 = 750, 300

self.x08, self.y08 = 700, 350

self.x09, self.y09 = 650, 400

self.x010, self.y010 = 325, 600

self.render01 = font01.render(self.text01, True, (128, 0, 0))

self.render02 = font02.render(self.text02, True, (128, 128, 0))

self.render03 = font02.render(self.text03, True, (128, 0, 128))

self.render04 = font02.render(self.text04, True, (0, 128, 128))

self.render05 = font02.render(self.text05, True, (0, 0, 128))

self.render06 = font02.render(self.text06, True, (128, 128, 0))

self.render07 = font02.render(self.text07, True, (128, 0, 128))

self.render08 = font02.render(self.text08, True, (0, 128, 128))

self.render09 = font02.render(self.text09, True, (0, 0, 128))

self.render010 = font02.render(self.text010, True, (128, 128, 0))

def move(self):

if self.y01 < -50:

self.y01 = 600

else:

self.y01 -= 1

if self.y02 < -50:

self.y02 = 600

else:

self.y02 -= 1

if self.y03 < -50:

self.y03 = 600

else:

self.y03 -= 1

if self.y04 < -50:

self.y04 = 600

else:

self.y04 -= 1

if self.y05 < -50:

self.y05 = 600

else:

self.y05 -= 1

if self.y06 < -50:

self.y06 = 600

else:

self.y06 -= 1

if self.y07 < -50:

self.y07 = 600

else:

self.y07 -= 1

if self.y08 < -50:

self.y08 = 600

else:

self.y08 -= 1

if self.y09 < -50:

self.y09 = 600

else:

self.y09 -= 1

if self.y010 < -50:

self.y010 = 600

else:

self.y010 -= 1

def display(self):

screen.blit(self.render01, (self.x01, self.y01))

screen.blit(self.render02, (self.x02, self.y02))

screen.blit(self.render03, (self.x03, self.y03))

screen.blit(self.render04, (self.x04, self.y04))

screen.blit(self.render05, (self.x05, self.y05))

screen.blit(self.render06, (self.x06, self.y06))

screen.blit(self.render07, (self.x07, self.y07))

screen.blit(self.render08, (self.x08, self.y08))

screen.blit(self.render09, (self.x09, self.y09))

screen.blit(self.render010, (self.x010, self.y010))

goddess = Goddess()

lovestars = []

lovestars.append(LoveStar(475,100))

lovestars.append(LoveStar(425,75))

lovestars.append(LoveStar(375,100))

lovestars.append(LoveStar(525,75))

lovestars.append(LoveStar(575,100))

lovestars.append(LoveStar(350,150))

lovestars.append(LoveStar(600,150))

lovestars.append(LoveStar(370,200))

lovestars.append(LoveStar(580,200))

lovestars.append(LoveStar(400,250))

lovestars.append(LoveStar(550,250))

lovestars.append(LoveStar(435,300))

lovestars.append(LoveStar(515,300))

lovestars.append(LoveStar(475,340))

lovestars.append(LoveStar(100,400))

lovestars.append(LoveStar(100,500))

lovestars.append(LoveStar(900,400))

lovestars.append(LoveStar(900,500))

lovestars.append(LoveStar(100,600))

lovestars.append(LoveStar(100,700))

lovestars.append(LoveStar(900,600))

lovestars.append(LoveStar(900,700))

running = True

r,g,b = 0,0,0

while running:

for event in pygame.event.get():

if event.type == pygame.QUIT:

exit()

screen.fill((r,g,b))

if r >= 255:

b += 5

r = 0

if g >= 255:

r += 5

g = 0

if b >= 125:

b = 0

g += 5

for lovestar in lovestars:

lovestar.display()

lovestar.move()

goddess.display()

goddess.move()

fpsClock.tick(fps)

pygame.display.update()

最终的运行效果:

图4.1最终效果1

图4.2最终效果2

5总结

不知道大家看了这个表白程序有没有想表白的冲动呢?小编希望大家都能俘获自己女神的芳心。

这个程序并不难,只是代码比较麻烦,当然你还可以继续编写,让这个程序更好看。如果大家对这些有趣的程序比较感兴趣,就下周同一时间请关注号内文章,届时,小编还会给大家带来有趣的程序。

END

主 编 | 王文星

责 编 | 江来洪

where2go 团队

http://www.jmfq.cn/news/5235571.html

相关文章:

  • 网站前台怎么套用织梦后台/如何在网上推广产品
  • 成都做网站做的好的公司/全球十大搜索引擎入口
  • 宁波门户网站建设/百度推广客户端怎么登陆
  • 推特登陆 网站建设/seo链接优化
  • 深圳企业推广网站/湖南企业seo优化
  • iis网站无法启动/广告推广营销网站
  • wordpress的坑/seo综合查询站长工具关键词
  • 展台展厅设计/7个湖北seo网站推广策略
  • 怎么样建设网站/免费网页制作模板
  • 新媒体网站建设十大的经典成功案例/如何免费注册网站
  • 免费网站建设培训/seo收索引擎优化
  • 如何做招聘网站分析/百度推广网站
  • 河南省豫建设计院网站/化妆品网络营销策划方案
  • 做网站添加支付功能要多少钱/免费下载b站视频软件
  • 浙江省通信管理局 网站备案 管理部门/十大跨境电商erp排名
  • 培训学校网站建设/seo sem推广
  • 四川住房和城乡建设厅网站打不开/短视频剪辑培训班多少钱
  • 泸州住房和城乡建设厅网站/软文范例300字
  • 初学者自己做网站/做网站优化推广
  • 网站建设引擎/微博推广方案
  • 网站建设哪家专业公司好/高质量外链
  • 公司做自己的网站平台台/百度网络科技有限公司
  • 深圳品牌女装排行榜前50名/网站seo优化怎么做
  • 网站备案需要哪些东西/网站排名分析
  • 沧州网站建设icp备/seo公司关键词
  • 网站原型设计流程/学生制作个人网站
  • 请问下网站开发怎么弄/手机制作网页用什么软件
  • 网站seo优化合同/公司网站如何建设
  • 网站后台 英语/自己可以做网站吗
  • 公司的网站链接找谁做/百度站长工具抓取诊断