这个挺有意思:Ruby 的 UI 库向来不怎么样,所以这里用的 Gosu 这个2d游戏引擎(其实是包装了Gosu 的 Chingu),顺便加了点料。
[代码] mona_lisa.rb
01 |
#!/usr/bin/env ruby |
02 |
require "chingu"
|
03 |
04 |
include Gosu |
05 |
include Chingu |
06 |
07 |
class MonaLisa < Chingu::Window
|
08 |
def initialize
|
09 |
super ( 600 , 550 , false )
|
10 |
self .input = { :esc => :exit }
|
11 |
push_game_state(Paint)
|
12 |
end
|
13 |
end |
14 |
15 |
class Pix < Chingu::GameObject
|
16 |
traits :velocity
|
17 |
def initialize(options)
|
18 |
super (options)
|
19 |
end
|
20 |
21 |
def drop
|
22 |
if rand( 2 ) == 0
|
23 |
@velocity_x = rand( 0 .. 2 )
|
24 |
else
|
25 |
@velocity_x = -rand( 0 .. 2 )
|
26 |
end
|
27 |
@velocity_y = rand( 0 .. 3 )
|
28 |
@acceleration_y = 1
|
29 |
end
|
30 |
31 |
def setup
|
32 |
@image = Image[ "rect.png" ]
|
33 |
end
|
34 |
end |
35 |
36 |
class Paint < Chingu::GameState
|
37 |
38 |
def initialize
|
39 |
@ground_y = $window .height+ 20
|
40 |
super
|
41 |
end
|
42 |
43 |
def setup
|
44 |
super
|
45 |
IO .readlines( "media/ml" ). each do |line|
|
46 |
arr = line.chomp.split( "x" )
|
47 |
x = arr[ 0 ].to_i
|
48 |
y = arr[ 1 ].to_i
|
49 |
w = arr[ 2 ].to_i
|
50 |
h = arr[ 3 ].to_i
|
51 |
r = arr[ 4 ][ 0 ... 2 ].to_i( 16 )
|
52 |
g = arr[ 4 ][ 2 ... 4 ].to_i( 16 )
|
53 |
b = arr[ 4 ][ 4 ... 6 ].to_i( 16 )
|
54 |
|
55 |
end
|
56 |
self .input = { :space => :drop }
|
57 |
end
|
58 |
59 |
def drop
|
60 |
Pix. each { |pix| pix.drop }
|
61 |
end
|
62 |
63 |
def update
|
64 |
Pix. each do |p|
|
65 |
if p.y >= @ground_y
|
66 |
slower = p.velocity_y / 3
|
67 |
p.velocity_y = -(slower + rand(slower))
|
68 |
if rand( 2 ) == 0
|
69 |
p.velocity_x = rand( 0 . 4 )
|
70 |
p.acceleration_x = -(rand( 0 . 05 ))
|
71 |
else
|
72 |
p.velocity_x = -rand( 0 . 4 )
|
73 |
p.acceleration_x = (rand( 0 . 05 ))
|
74 |
end
|
75 |
end
|
76 |
end
|
77 |
super
|
78 |
end
|
79 |
end |
80 |
81 |
MonaLisa. new .show
|
相关推荐
使用html实现的蒙娜丽莎的微笑,可以用来学习的例子。适用于各种热爱编程的人员参考。
本项目“纯css蒙娜丽莎的微笑”是一个令人惊叹的实例,展示了CSS3的强大潜力,尤其是其盒阴影(box-shadow)属性的应用。这个作品完全通过CSS代码绘制了5000多个点,巧妙地组合成蒙娜丽莎那神秘的微笑,重现了文艺...
《蒙娜丽莎微笑揭秘》同步练习主要涵盖了语文学习中的字词注音、词语解释、文学常识、课文内容理解和分析等方面的知识点。这篇练习旨在帮助七年级学生深入理解课文《蒙娜丽莎微笑揭秘》,提升语文素养。 1. 字词...
《蒙娜丽莎微笑揭秘》同步练习精选的内容涵盖了对著名画家达·芬奇名画《蒙娜丽莎》的理解和探讨。这篇语文练习主要涉及以下几个知识点: 1. 文化艺术:《蒙娜丽莎》是意大利艺术大师莱昂纳多·达·芬奇的代表作,...
《蒙娜丽莎的微笑》不仅是一幅世界著名的画作,也是本文中探讨的主题。文章通过一部名为《蒙娜丽莎》的电影,引出20世纪50年代美国卫斯理女子学院的一场思想冲突。女教师凯瑟琳·沃森试图打破传统观念的束缚,鼓励...
同时,为了实现蒙娜丽莎的微笑效果,他们可能运用了图像滤波技术,如高斯模糊,来创造柔和的过渡效果,以及边缘检测算法,如Canny算法,来描绘出画像的轮廓。 在开源项目“Paint Mona Lisa Smile”中,我们还能看到...
当人们直视蒙娜丽莎的嘴巴时,中央视觉可能无法捕捉到微笑的微妙变化,而当我们稍微偏离视线,利用外围视觉观察时,微笑在视觉边缘反而变得更加明显。因此,这种差异体验并非源于画中人物的表情变化,而是我们视觉...
没错,今天我们要分享的就是这个使用纯CSS3,没有使用任何图片的蒙娜丽莎画像,实现原理是利用CSS3的阴影特性,逐层用不同的颜色渲染,从而形成这幅蒙娜丽莎巨作,当然有点模糊是肯定的,毕竟是通过投影渲染的,...
《蒙娜丽莎》的微笑被描述为既宁静又神秘,能够随着观察者的情绪和心境变化而产生不同的解读,这是它艺术魅力的核心所在。 首先,艺术的魅力在于其主观性和多元性。人们对于《蒙娜丽莎》微笑的理解因人而异,反映出...
此外,通过技术创新,蒙娜丽莎还实现了瓷砖生产过程中的节能减排,提升了产品的附加价值。 其次,强大的销售渠道是企业扩大市场份额的关键。蒙娜丽莎建立了多元化、广泛的销售网络,包括线下专卖店、大型家居卖场、...
文章首先介绍了这幅画的历史背景,接着详细描绘了蒙娜丽莎的肖像特点,最后探讨了其“神秘的微笑”所引发的多种解读。 文章的主要内容分为三个部分:首先,引入了参观《蒙娜丽莎》的情境,强调了人们对这幅画的向往...
这部分内容首先提到了“瑶公特”(即蒙娜丽莎)微笑的神秘性和捉摸不定,指出这种微笑与东方艺术的无穷和不定相契合,如中国诗画中的意境。接着,对比了达·芬奇与波提切利等艺术家的区别,强调达·芬奇在表现人物...
此外,据法国巴黎卢浮宫的研究,蒙娜丽莎的微笑包含了高兴、厌恶、恐惧和愤怒等复杂情感的混合,这是通过现代技术——情感识别软件分析得出的结论,再次证实了这微笑的丰富性和多变性。这幅画作不仅是视觉艺术的杰作...
浙江省温州市瓯海区实验八年级历史与社会下册《蒙娜丽莎的微笑、教皇奶牛的解放》教案 人教版.doc
同时,通过朗读和讨论,学生不仅能更深入地理解《蒙娜丽莎》的神秘微笑,还能学习到如何在写作中运用类似的技巧。 总结,该教学设计以《蒙娜丽莎之约》为载体,旨在培养学生的阅读理解能力、审美感知力和写作技巧,...
《蒙娜丽莎》是世界艺术史上的一颗璀璨明珠,它的独特之处在于那神秘而引人入胜的微笑。 首先,文章提到了《蒙娜丽莎》的尺寸并不大,大约三英尺长、两英尺宽,但其影响力却远远超出了物理尺寸。在接近这幅画的过程...
蒙娜丽莎:首次公开发行股票并上市招股说明书.PDF
2020年,蒙娜丽莎实现营业收入48.64亿元,年复合增长率(CAGR)为22.48%,归母净利润达到5.66亿元,CAGR为39.47%。2021年前三季度,公司营业收入和归母净利润分别同比增长47.69%和10.07%,显示出强劲的增长势头。 ...