texplay 0.2.710 → 0.2.722

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,59 +0,0 @@
1
- require 'rubygems'
2
- require 'common'
3
- require 'gosu'
4
- require 'texplay'
5
-
6
-
7
- class W < Gosu::Window
8
- def initialize
9
- super(1024, 768, false, 20)
10
- @img = Gosu::Image.new(self, "#{Common::MEDIA}/logo.png")
11
- #@img.rect 0,0, @img.width - 1, @img.height - 1
12
- @img2 = TexPlay::create_blank_image(self, @img.width, @img.height)
13
- @img2.rect 0,0, 1000, 100, :fill => true
14
-
15
- TexPlay::create_macro(:blur) do |*options|
16
- options = options.first ? options.first : {}
17
-
18
- radius = options[:blur_radius] || 1
19
-
20
- self.each(options) { |c,x,y|
21
- total = [0, 0, 0, 0]
22
- for ky in (-radius..radius)
23
- for kx in (-radius..radius)
24
- v = get_pixel(x + kx, y + ky);
25
- if v
26
- total[0] += v[0]
27
- total[1] += v[1]
28
- total[2] += v[2]
29
- total[3] += v[3]
30
- end
31
- end
32
- end
33
-
34
- c[0] = total[0] / (radius * 2 + 1) ** 2
35
- c[1] = total[1] / (radius * 2 + 1) ** 2
36
- c[2] = total[2] / (radius * 2 + 1) ** 2
37
- c[3] = total[3] / (radius * 2 + 1) ** 2
38
- }
39
-
40
- self
41
- end
42
-
43
- @img.blur :blur_radius => 4, :region => [0, 0, @img.width/2, @img.height]
44
- end
45
-
46
- def draw
47
- x = @img.width * rand
48
- y = @img.height * rand
49
-
50
- @img2.draw 100, 50,1
51
- @img.draw 100, 50,1
52
- end
53
-
54
- end
55
-
56
-
57
- w = W.new
58
- w.show
59
-
@@ -1,106 +0,0 @@
1
- require 'rubygems'
2
- require 'common'
3
- require 'texplay'
4
- require 'devil/gosu'
5
-
6
-
7
- class W < Gosu::Window
8
- WIDTH = 1000
9
- HEIGHT = 800
10
- def initialize
11
- super(1024, 768, false, 20)
12
- @img = TexPlay::create_blank_image(self, WIDTH, HEIGHT)
13
- @tp = Gosu::Image.new(self, "#{Common::MEDIA}/texplay.png")
14
- @gosu = Gosu::Image.new(self, "#{Common::MEDIA}/sand1.png")
15
-
16
-
17
- image = TexPlay::create_blank_image(self, WIDTH, HEIGHT)
18
- image2 = TexPlay::create_blank_image(self, WIDTH, HEIGHT)
19
-
20
- puts "..created blank!"
21
- puts "..starting drawing!"
22
-
23
- # now let's create the landscape
24
- points = []
25
- (0..WIDTH + 120).step(90) { |x|
26
- p = TexPlay::TPPoint.new
27
- p.x = x
28
- p.y = HEIGHT - rand * 600
29
- if p.y >= HEIGHT - 1
30
- p.y = HEIGHT - 1
31
- end
32
- points << p
33
- }
34
-
35
- points.first.y = 600
36
- points.last.x = WIDTH + 200
37
-
38
- points.last.y = 600
39
-
40
- mag = rand(50) + 10
41
- rough = 2 + rand(20)
42
- spike = 2 + rand(14)
43
- period = 2 * rand + 0.2
44
- image.move_to(points.first.x, points.first.y)
45
-
46
- image.rect 200, 200, 300, 300, :color => :green, :fill => true
47
- image.rect 300, 200, 400, 300, :color => :green, :fill => false
48
- #image.line 200, 200, 300, 300, :color => :green, :fill => true#, :thickness => 3
49
- # image.pixel 300,300, :color => :white
50
- # image.line 200, 300, 300, 300, :color => :white, :sync_mode => :eager_sync
51
-
52
- #
53
- image.rect 0, 0, image.width - 1, image.height - 1, :color => :white
54
- image.circle image.width, 0, 10, :color => :red, :fill => true
55
- # image.rect 0, 400, image.width - 1, 600, :color => :green
56
-
57
- # plain beziers are boring, so let's augment it with a randomized sine wave
58
- image.bezier points, :color => :white, :color_control => proc { |c, t, y|
59
- y += mag * Math::sin(t * period * Math::PI / 180)
60
- if (t % rough == 0 ) then
61
- image.line_to(t, y + rand * spike - (spike / 2), :texture => @gosu)
62
- end
63
- :none
64
- }
65
-
66
- #image.bezier [rand(500), 700, rand(100), 800, rand(800), 900, rand(300), 850 ], :closed => true
67
- image.fill 300, 760, :color => :red #:texture => @gosu
68
- image.rect 0,0, image.width - 1, image.height - 1, :fill => true, :color => :blue
69
- image2.fill 300, 300, :color => :red
70
-
71
- @img = image
72
- @img2 = image2
73
- # @img.circle 10, image.height / 2, 50, :color => :red, :fill => true
74
- #@img.rect 0,100, 100, 200, :color => :red, :fill => true
75
- #@img.line -1, 100, 100, 100, :color => :blue, :fill => true
76
-
77
- # @img.line 0,100, 0, 200, :color => :red, :fill => true
78
-
79
-
80
- # @img.force_sync [0,0, image.width, image.height]
81
- # @img.rect -10, image.height / 2, 50, image.height / 2 + 50, :color => :red, :fill => true
82
- # @img.line 0,0, 0, image.height - 1, :color => :red
83
-
84
- @bunk = TexPlay.create_blank_image(self, 100, 100)
85
- @bunk.circle 50, 50, 50, :color => :rand, :fill => true
86
-
87
- end
88
-
89
- def draw
90
- @img.draw 0, 600,1
91
- @img2.draw 50, 600, 1
92
- @bunk.draw 500, 500, 1
93
-
94
- if button_down?(Gosu::KbEscape)
95
- Devil.from_blob(self.to_blob, self.width, self.height).save("hello.jpg")
96
- #screenshot.crop(100, 100, 500, 500).save("hello.jpg")
97
- exit
98
- end
99
- end
100
-
101
- end
102
-
103
-
104
- w = W.new
105
- w.show
106
-
@@ -1,40 +0,0 @@
1
- require 'rubygems'
2
- require 'common'
3
- require 'gosu'
4
- require 'texplay'
5
- require 'devil/gosu'
6
-
7
-
8
- class W < Gosu::Window
9
- def initialize
10
- super(1024, 768, false, 20)
11
- @img = Gosu::Image.new(self, "#{Common::MEDIA}/platform.png")
12
-
13
- # each can accept a block of two types of arity:
14
- # arity 1 - yields just the pixel color
15
- # arity 3 - yield the pixel color, and the x and y
16
-
17
- # max out the blue component of every pixel
18
- @img.each { |v|
19
- if v[0] > 0.7 && v[1] > 0.6 && v[2] < 0.6 then
20
- v[1] = 0.0
21
- v[2] = 0.0
22
- end
23
- }
24
-
25
- #@img.save("/home/john/Desktop/red.png")
26
-
27
-
28
- end
29
-
30
- def draw
31
-
32
- @img.draw 100, 50,1
33
- end
34
-
35
- end
36
-
37
-
38
- w = W.new
39
- w.show
40
-
@@ -1,55 +0,0 @@
1
- require 'rubygems'
2
- require 'common'
3
- require 'texplay'
4
-
5
-
6
- class W < Gosu::Window
7
- NUM_WAVES = 10
8
-
9
- def initialize
10
- super(1024, 768, false, 20)
11
- @img = TexPlay::create_blank_image(self, 1022, 800)
12
- @tp = Gosu::Image.new(self, "#{Common::MEDIA}/texplay.png")
13
- @gosu = Gosu::Image.new(self, "#{Common::MEDIA}/sand1.png")
14
-
15
- points = []
16
-
17
- # NOTE: TexPlay also accepts points. a 'point' is any object that responds to 'x' or y
18
- # NOTE: current maximum points for a bezier is 13
19
- (0..@img.width + 90).step(185) { |x|
20
- p = TexPlay::TPPoint.new
21
- p.x = x
22
- p.y = @img.height * rand
23
-
24
- points << p
25
- }
26
-
27
- waves = []
28
- NUM_WAVES.times {
29
- waves.push({ :amp => rand(100), :freq => rand(1000).to_f })
30
- }
31
-
32
- @img.move_to 0, 300
33
- (0..1100).step(10) { |x|
34
- y = 300
35
- waves.each { |w|
36
- y += w[:amp] * Math::sin((x / w[:freq]) * Math::PI * 2)
37
- }
38
- @img.line_to(x, y)
39
- }
40
-
41
- # NOTE: the :texture hash argument works on ALL drawing actions; not just fills
42
- @img.fill 300, 650, :texture => @gosu
43
-
44
- end
45
-
46
- def draw
47
- @img.draw 10, 10,1
48
- end
49
-
50
- end
51
-
52
-
53
- w = W.new
54
- w.show
55
-
Binary file