ippa-chingu 0.5.3 → 0.5.4

Sign up to get free protection for your applications and to get access to all the features.
data/lib/chingu/window.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Chingu
2
- CHINGU_ROOT = File.dirname(File.expand_path($0))
2
+
3
3
  class Window < Gosu::Window
4
4
  # adds push_game_state, pop_game_state, current_game_state and previous_game_state
5
5
  include Chingu::GameStateHelpers
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ippa-chingu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.5.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - ippa
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-09-09 00:00:00 -07:00
12
+ date: 2009-09-17 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -35,6 +35,7 @@ extra_rdoc_files:
35
35
  - benchmarks/README.txt
36
36
  files:
37
37
  - History.txt
38
+ - LICENSE
38
39
  - Manifest.txt
39
40
  - README.rdoc
40
41
  - Rakefile
@@ -42,10 +43,12 @@ files:
42
43
  - benchmarks/benchmark.rb
43
44
  - benchmarks/benchmark3.rb
44
45
  - benchmarks/benchmark4.rb
46
+ - benchmarks/benchmark5.rb
45
47
  - benchmarks/meta_benchmark.rb
46
48
  - benchmarks/meta_benchmark2.rb
47
49
  - chingu.gemspec
48
50
  - examples/example1.rb
51
+ - examples/example10.rb
49
52
  - examples/example2.rb
50
53
  - examples/example3.rb
51
54
  - examples/example4.rb
@@ -89,14 +92,15 @@ files:
89
92
  - lib/chingu/parallax.rb
90
93
  - lib/chingu/particle.rb
91
94
  - lib/chingu/rect.rb
95
+ - lib/chingu/require_all.rb
92
96
  - lib/chingu/text.rb
93
97
  - lib/chingu/traits/collision_detection.rb
94
- - lib/chingu/traits/deprecated_module_visual.rb
95
- - lib/chingu/traits/deprecated_visual.rb
96
98
  - lib/chingu/traits/effect.rb
99
+ - lib/chingu/traits/effect_module.rb
97
100
  - lib/chingu/traits/input.rb
98
101
  - lib/chingu/traits/rotation_center.rb
99
102
  - lib/chingu/traits/velocity.rb
103
+ - lib/chingu/traits/velocity_module.rb
100
104
  - lib/chingu/window.rb
101
105
  has_rdoc: false
102
106
  homepage: http://github.com/ippa/chingu/tree/master
@@ -1,108 +0,0 @@
1
- module Chingu
2
- module Traits
3
- module Visual
4
- attr_accessor :image, :x, :y, :angle, :center_x, :center_y, :factor_x, :factor_y, :color, :mode, :zorder
5
-
6
- #
7
- # :x screen x-coordinate (default 0, to the left)
8
- # :y screen y-coordinate (default 0, top of screen)
9
- # :angle angle of object, used in draw_rot, (default 0, no rotation)
10
- # :zorder a gameclass "foo" with higher zorder then gameclass "bar" is drawn on top of "foo".
11
- # :center_x relative horizontal position of the rotation center on the image.
12
- # 0 is the left border, 1 is the right border, 0.5 is the center (default 0.5)
13
- # :center_y see center_x. (default 0.5)
14
- # :factor_x horizontal zoom-factor, use >1.0 to zoom in. (default 1.0, no zoom).
15
- # :factor_y vertical zoom-factor, use >1.0 to zoom in. (default 1.0, no zoom).
16
- #
17
- # :update [true|false] Automaticly call #update on object each gameloop. Default +true+.
18
- # :draw [true|false] Automaticly call #update on object each gameloop. Default +true+.
19
- #
20
-
21
- def self.included(base)
22
- #base.__send__(:alias_method, :orig_initialize, :initialize)
23
- #base.__send__(:alias_method, :initialize, :orig_initialize)
24
-
25
- #base.__send__( :alias_method, :initialize_without_extras, :initialize )
26
- #base.__send__( :alias_method, :initialize, :initialize_with_extras )
27
- end
28
-
29
- alias_method :orig_initialize, :initialize
30
- def initialize(options = {})
31
-
32
- puts "Visual#initialize"
33
-
34
- # draw_rot arguments
35
- @image = options[:image] if options[:image].is_a? Gosu::Image
36
- @image = Image[options[:image]] if options[:image].is_a? String
37
- @x = options[:x] || 0
38
- @y = options[:y] || 0
39
- @angle = options[:angle] || 0
40
- @zorder = options[:zorder] || 100
41
- @center_x = options[:center_x] || options[:center] || 0.5
42
- @center_y = options[:center_y] || options[:center] || 0.5
43
- @factor_x = options[:factor_x] || options[:factor] || 1.0
44
- @factor_y = options[:factor_y] || options[:factor] || 1.0
45
- @mode = options[:mode] || :default # :additive is also available.
46
- @color = Gosu::Color.new(options[:color]) if options[:color].is_a? Bignum
47
- @color = options[:color] if options[:color].respond_to?(:alpha)
48
- @color = Gosu::Color.new(0xFFFFFFFF) if @color.nil?
49
-
50
- # Shortcuts for draw_rot arguments
51
- @factor = 1
52
-
53
- # gameloop/framework logic
54
- @update = options[:update] || true
55
- @draw = options[:draw] || true
56
-
57
- orig_initialize(options)
58
- #orig_initialize
59
- end
60
-
61
- #
62
- # Quick way of setting both factor_x and factor_y
63
- #
64
- def factor=(factor)
65
- @factor_x = @factor_y = factor
66
- end
67
-
68
- #
69
- # Quick way of setting both center_x and center_y
70
- #
71
- def center=(factor)
72
- @center_x = @center_y = factor
73
- end
74
-
75
- #
76
- # Returns true if object is inside the game window, false if outside
77
- #
78
- def inside_window?(x = @x, y = @y)
79
- x >= 0 && x <= $window.width && y >= 0 && y <= $window.height
80
- end
81
-
82
- #
83
- # Returns true object is outside the game window
84
- #
85
- def outside_window?(x = @x, y = @y)
86
- not inside_window?(x,y)
87
- end
88
-
89
- #
90
- # The core of the gameclass, the draw_rot encapsulation. Draws the sprite on screen.
91
- # Calling #to_i on @x and @y enables thoose to be Float's, for subpixel slow movement in #update
92
- #
93
- def draw(parent)
94
- @image.draw_rot(@x.to_i, @y.to_i, @zorder, @angle, @center_x, @center_y, @factor_x, @factor_y, @color, @mode)
95
- #parent.image.draw_rot( parent.x.to_i,
96
- # parent.y.to_i,
97
- # parent.zorder,
98
- # parent.angle,
99
- # parent.center_x,
100
- # parent.center_y,
101
- # parent.factor_x,
102
- # parent.factor_y,
103
- # parent.color,
104
- # parent.mode)
105
- end
106
- end
107
- end
108
- end
@@ -1,100 +0,0 @@
1
- module Chingu
2
- module Traits
3
- class Visual
4
-
5
- def initialize(parent_class, options)
6
- @parent_class = parent_class
7
- @parent_class.class_eval do
8
- attr_accessor :image, :x, :y, :angle, :center_x, :center_y, :factor_x, :factor_y, :color, :mode, :zorder
9
-
10
- # Quick way of setting both factor_x and factor_y
11
- def factor=(factor)
12
- @factor_x = @factor_y = factor
13
- end
14
-
15
- # Quick way of setting both center_x and center_y
16
- def center=(factor)
17
- @center_x = @center_y = factor
18
- end
19
-
20
- # Returns true if object is inside the game window, false if outside
21
- def inside_window?(x = @x, y = @y)
22
- x >= 0 && x <= $window.width && y >= 0 && y <= $window.height
23
- end
24
-
25
- # Returns true object is outside the game window
26
- def outside_window?(x = @x, y = @y)
27
- not inside_window?(x,y)
28
- end
29
- end
30
-
31
- end
32
-
33
- #
34
- # :x screen x-coordinate (default 0, to the left)
35
- # :y screen y-coordinate (default 0, top of screen)
36
- # :angle angle of object, used in draw_rot, (default 0, no rotation)
37
- # :zorder a gameclass "foo" with higher zorder then gameclass "bar" is drawn on top of "foo".
38
- # :center_x relative horizontal position of the rotation center on the image.
39
- # 0 is the left border, 1 is the right border, 0.5 is the center (default 0.5)
40
- # :center_y see center_x. (default 0.5)
41
- # :factor_x horizontal zoom-factor, use >1.0 to zoom in. (default 1.0, no zoom).
42
- # :factor_y vertical zoom-factor, use >1.0 to zoom in. (default 1.0, no zoom).
43
- #
44
- # :update [true|false] Automaticly call #update on object each gameloop. Default +true+.
45
- # :draw [true|false] Automaticly call #update on object each gameloop. Default +true+.
46
- #
47
- def setup(parent_instance, options)
48
- @parent_instance = parent_instance
49
- @parent_instance.instance_eval do
50
- # draw_rot arguments
51
- @image = options[:image] if options[:image].is_a? Gosu::Image
52
- @image = Image[options[:image]] if options[:image].is_a? String
53
- @x = options[:x] || 0
54
- @y = options[:y] || 0
55
- @angle = options[:angle] || 0
56
- @zorder = options[:zorder] || 100
57
- @center_x = options[:center_x] || options[:center] || 0.5
58
- @center_y = options[:center_y] || options[:center] || 0.5
59
- @factor_x = options[:factor_x] || options[:factor] || 1.0
60
- @factor_y = options[:factor_y] || options[:factor] || 1.0
61
-
62
- @color = Gosu::Color.new(options[:color]) if options[:color].is_a? Bignum
63
- @color = options[:color] if options[:color].respond_to?(:alpha)
64
- @color = Gosu::Color.new(0xFFFFFFFF) if @color.nil?
65
-
66
- @mode = options[:mode] || :default # :additive is also available.
67
-
68
- # Shortcuts for draw_rot arguments
69
- @factor = 1
70
-
71
- # gameloop/framework logic
72
- @update = options[:update] || true
73
- @draw = options[:draw] || true
74
- end
75
-
76
- end
77
-
78
- def update(parent)
79
- end
80
-
81
- #
82
- # The core of the gameclass, the draw_rot encapsulation. Draws the sprite on screen.
83
- # Calling #to_i on @x and @y enables thoose to be Float's, for subpixel slow movement in #update
84
- #
85
- def draw(parent)
86
- ## @image.draw_rot(@x.to_i, @y.to_i, @zorder, @angle, @center_x, @center_y, @factor_x, @factor_y, @color, @mode)
87
- parent.image.draw_rot( parent.x.to_i,
88
- parent.y.to_i,
89
- parent.zorder,
90
- parent.angle,
91
- parent.center_x,
92
- parent.center_y,
93
- parent.factor_x,
94
- parent.factor_y,
95
- parent.color,
96
- parent.mode)
97
- end
98
- end
99
- end
100
- end