ippa-chingu 0.5.2.1 → 0.5.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest.txt +2 -0
- data/README.rdoc +40 -16
- data/chingu.gemspec +2 -2
- data/examples/example1.rb +1 -3
- data/examples/example2.rb +0 -2
- data/examples/example4.rb +0 -2
- data/lib/chingu.rb +3 -1
- data/lib/chingu/animation.rb +1 -1
- data/lib/chingu/basic_game_object.rb +2 -3
- data/lib/chingu/game_object.rb +3 -45
- data/lib/chingu/inflector.rb +12 -0
- data/lib/chingu/traits/rotation_center.rb +62 -0
- data/lib/chingu/window.rb +2 -2
- metadata +5 -2
data/Manifest.txt
CHANGED
@@ -47,6 +47,7 @@ lib/chingu/game_states/fade_to.rb
|
|
47
47
|
lib/chingu/game_states/pause.rb
|
48
48
|
lib/chingu/gfx_helpers.rb
|
49
49
|
lib/chingu/helpers.rb
|
50
|
+
lib/chingu/inflector.rb
|
50
51
|
lib/chingu/input.rb
|
51
52
|
lib/chingu/named_resource.rb
|
52
53
|
lib/chingu/parallax.rb
|
@@ -58,5 +59,6 @@ lib/chingu/traits/deprecated_module_visual.rb
|
|
58
59
|
lib/chingu/traits/deprecated_visual.rb
|
59
60
|
lib/chingu/traits/effect.rb
|
60
61
|
lib/chingu/traits/input.rb
|
62
|
+
lib/chingu/traits/rotation_center.rb
|
61
63
|
lib/chingu/traits/velocity.rb
|
62
64
|
lib/chingu/window.rb
|
data/README.rdoc
CHANGED
@@ -5,8 +5,7 @@ DOCUMENTATION: http://rdoc.info/projects/ippa/chingu
|
|
5
5
|
|
6
6
|
Ruby 1.9.1 is recommended. Also works with 1.8.7+.
|
7
7
|
|
8
|
-
This is
|
9
|
-
It's also in a state of flux while I decide on core-naming etc.
|
8
|
+
This is still a rather young project, core classes and naming can still change.
|
10
9
|
|
11
10
|
== INSTALL
|
12
11
|
gem sources -a http://gems.github.com
|
@@ -29,11 +28,13 @@ There was always a huge big chunk of checking keyboard-events in the main loop.
|
|
29
28
|
Borrowing ideas from Rubygame this has now become @player.keyboard(:left => :move_left, :space => :fire ... etc.
|
30
29
|
|
31
30
|
|
32
|
-
== OVERVIEW
|
33
|
-
Chingu consists of the following core classes:
|
31
|
+
== CORE OVERVIEW
|
32
|
+
Chingu consists of the following core classes / concepts:
|
34
33
|
|
35
34
|
=== Chingu::Window
|
36
|
-
The main window, use it at you use Gosu::Window.
|
35
|
+
The main window, use it at you use Gosu::Window now. Calcs the framerate, takes care of states,
|
36
|
+
handles chingu-formated input, updates and draws BasicGameObject / GameObjects automaticly.
|
37
|
+
Available thoughout your source as $window (Yes, that's the only global Chingu has).
|
37
38
|
|
38
39
|
=== Chingu::GameObject
|
39
40
|
Use this for all your in game objects. The player, the enemies, the bullets, the powerups, the loot laying around.
|
@@ -44,11 +45,8 @@ Has either Chingu::Window or a Chingu::GameState as "owner".
|
|
44
45
|
=== Chingu::BasicGameObject
|
45
46
|
For those who think GameObject is a too little fat, there's BasicGameObject (GameObject inherits from BasicGameObject).
|
46
47
|
BasicGameObject is just an empty frame (no x,y,image accessors or draw-logic) for you to build on.
|
47
|
-
It _can_ be extended with Chingus trait-system though.
|
48
|
-
|
49
|
-
=== Chingu::Text
|
50
|
-
Makes use of Gosu::Font more rubyish and powerful.
|
51
|
-
In it's core, another Chingu::GameObject + Gosu::Font.
|
48
|
+
It _can_ be extended with Chingus trait-system though.
|
49
|
+
BasicGameObject#parent points to either $window or a game state and is automaticly set on creation time.
|
52
50
|
|
53
51
|
=== Chingu::GameStateManager
|
54
52
|
Keeps track of the game states. Implements a stack-based system with push_game_state and pop_game_state.
|
@@ -62,14 +60,40 @@ If using game states, the flow of draw/update/button_up/button_down is:
|
|
62
60
|
Chingu::Window --> Chingu::GameStateManager --> Chingu::GameState.
|
63
61
|
For example, inside game state Menu you call push_game_state(Level). When Level exists, it will go back to Menu.
|
64
62
|
|
63
|
+
=== Traits
|
64
|
+
Traits are extensions (or plugins if you so will) to BasicGameObjects.
|
65
|
+
The aim is so encapsulate common behaivor into stand alone classes and modules for easy inclusion in your game classes.
|
66
|
+
In it's most basic form it's just a class which answers to setup() (called on your game objects creation), update() and draw().
|
67
|
+
Traits are a fairly new addition to Chingu and will probably morph some more before stabilizing.
|
68
|
+
|
69
|
+
|
70
|
+
== OTHER CLASSES / HELPERS
|
71
|
+
|
72
|
+
=== Chingu::Text
|
73
|
+
Makes use of Gosu::Font more rubyish and powerful.
|
74
|
+
In it's core, another Chingu::GameObject + Gosu::Font.
|
75
|
+
|
65
76
|
=== Chingu::Animation
|
66
77
|
Load and interact with tile-based animations. loop, bounce and access invidual frame(s) easily.
|
67
78
|
An "@image = @animation.next!" in your Player#update is usually enough to get you started!
|
68
79
|
|
69
|
-
|
80
|
+
=== Chingu::Parallax
|
70
81
|
A class for easy paralaxxscrolling. See example3.rb for more.
|
71
82
|
|
72
|
-
|
83
|
+
=== Various Helpers
|
84
|
+
Both $window and game states gets some new graphical helpers, currently only 3, but quite useful:
|
85
|
+
|
86
|
+
fill() # Fills whole window with color 'color'.
|
87
|
+
fill_rect() # Fills a given Rect 'rect' with Color 'color'
|
88
|
+
fill_gradient() # Fills window or a given rect with a gradient between two colors.
|
89
|
+
|
90
|
+
If you base your models on GameObject (or BasicGameObject) you get:
|
91
|
+
Enemy.all # Returns all object based on this class
|
92
|
+
Enemy.each # Iterates through all objects of class Enemt.
|
93
|
+
Enemy.destroy_if(&block) # destroy all objects for which &block returns true
|
94
|
+
|
95
|
+
|
96
|
+
== BASICS / EXAMPLES
|
73
97
|
|
74
98
|
=== Chingu::Window
|
75
99
|
With Gosu the main window inherits from Gosu::Window. In Chingu we use Chingu::Window. It's a basic Gosu::Window with extra cheese on top of it. keyboard handling, automatic update/draw calls to all gameobjects, fps counting etc.
|
@@ -444,7 +468,7 @@ See http://www.libgosu.org/rdoc/classes/Gosu/Window.html for a full set of metho
|
|
444
468
|
|
445
469
|
== TODO:
|
446
470
|
* add :padding and :align => :topleft etc to class Text
|
447
|
-
* rename Chingu::Window so 'include Chingu' and 'include Gosu' wont make Window collide
|
471
|
+
* (skip) rename Chingu::Window so 'include Chingu' and 'include Gosu' wont make Window collide
|
448
472
|
* (done) BasicObject vs GameObject vs ScreenObject => Became BasicGameObject and GameObject
|
449
473
|
* (50%) some kind of componentsystem for GameObject (which should be cleaned up)
|
450
474
|
* (done) scale <--> growth parameter. See trait "effect"
|
@@ -460,19 +484,19 @@ See http://www.libgosu.org/rdoc/classes/Gosu/Window.html for a full set of metho
|
|
460
484
|
* (20% done) make a playable simple game in examples\ that really depends on game states
|
461
485
|
* (done) Make a gem- first gem made on github
|
462
486
|
* (done) Automate gemgenning rake-task even more
|
463
|
-
* More examples when effects are more complete
|
487
|
+
* (done) More examples when effects are more complete
|
464
488
|
* class ChipmunkObject
|
465
|
-
* class Actor/MovingActor with maybe a bit more logic then the basic GameObject. Would ppl find is useful?
|
489
|
+
* (has_trait :velocity :p..) class Actor/MovingActor with maybe a bit more logic then the basic GameObject. Would ppl find is useful?
|
466
490
|
* (60% done) Spell check all docs, sloppy spelling turns ppl off. tnx jduff ;).
|
467
491
|
* Tests
|
468
492
|
* (done) Streamline fps / tick code
|
469
493
|
* (done) Encapsulate Font.new / draw_rot with a "class Text < GameObject"
|
470
494
|
* (10% done) Make it possible for ppl to use the parts of Chingu they like
|
471
495
|
* (done) At least make GameStateManager really easy to use with pure Gosu / Document it!
|
472
|
-
* A more robust game state <-> game_object system to connect them together.
|
473
496
|
* (50% done) Get better at styling rdocs
|
474
497
|
* (done) all �gamestate� ? �game state� ? it's "game state"
|
475
498
|
* (skipping) intergrate MovieMaker - solve this with traits instead.
|
499
|
+
* A more robust game state <-> game_object system to connect them together.
|
476
500
|
* FIX example4: :p => Pause.new would Change the "inside_game_state" to Pause and make @player belong to Pause.
|
477
501
|
|
478
502
|
== WHY?
|
data/chingu.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{chingu}
|
5
|
-
s.version = "0.5.
|
5
|
+
s.version = "0.5.3"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["ippa"]
|
@@ -11,7 +11,7 @@ Gem::Specification.new do |s|
|
|
11
11
|
It adds simple yet powerful game states, prettier input handling, deployment safe asset-handling, a basic re-usable game object and automation of common task.}
|
12
12
|
s.email = ["ippa@rubylicio.us"]
|
13
13
|
s.extra_rdoc_files = ["History.txt", "Manifest.txt", "benchmarks/README.txt"]
|
14
|
-
s.files = ["History.txt", "Manifest.txt", "README.rdoc", "Rakefile", "benchmarks/README.txt", "benchmarks/benchmark.rb", "benchmarks/benchmark3.rb", "benchmarks/benchmark4.rb", "benchmarks/meta_benchmark.rb", "benchmarks/meta_benchmark2.rb", "chingu.gemspec", "examples/example1.rb", "examples/example2.rb", "examples/example3.rb", "examples/example4.rb", "examples/example5.rb", "examples/example6.rb", "examples/example7.rb", "examples/example8.rb", "examples/example9.rb", "examples/media/Parallax-scroll-example-layer-0.png", "examples/media/Parallax-scroll-example-layer-1.png", "examples/media/Parallax-scroll-example-layer-2.png", "examples/media/Parallax-scroll-example-layer-3.png", "examples/media/background1.png", "examples/media/fire_bullet.png", "examples/media/fireball.png", "examples/media/particle.png", "examples/media/ruby.png", "examples/media/spaceship.png", "examples/media/stickfigure.bmp", "examples/media/stickfigure.png", "examples/media/video_games.png", "lib/chingu.rb", "lib/chingu/actor.rb", "lib/chingu/animation.rb", "lib/chingu/assets.rb", "lib/chingu/basic_game_object.rb", "lib/chingu/core_extensions.rb", "lib/chingu/effects.rb", "lib/chingu/fpscounter.rb", "lib/chingu/game_object.rb", "lib/chingu/game_state.rb", "lib/chingu/game_state_manager.rb", "lib/chingu/game_states/debug.rb", "lib/chingu/game_states/fade_to.rb", "lib/chingu/game_states/pause.rb", "lib/chingu/gfx_helpers.rb", "lib/chingu/helpers.rb", "lib/chingu/input.rb", "lib/chingu/named_resource.rb", "lib/chingu/parallax.rb", "lib/chingu/particle.rb", "lib/chingu/rect.rb", "lib/chingu/text.rb", "lib/chingu/traits/collision_detection.rb", "lib/chingu/traits/deprecated_module_visual.rb", "lib/chingu/traits/deprecated_visual.rb", "lib/chingu/traits/effect.rb", "lib/chingu/traits/input.rb", "lib/chingu/traits/velocity.rb", "lib/chingu/window.rb"]
|
14
|
+
s.files = ["History.txt", "Manifest.txt", "README.rdoc", "Rakefile", "benchmarks/README.txt", "benchmarks/benchmark.rb", "benchmarks/benchmark3.rb", "benchmarks/benchmark4.rb", "benchmarks/meta_benchmark.rb", "benchmarks/meta_benchmark2.rb", "chingu.gemspec", "examples/example1.rb", "examples/example2.rb", "examples/example3.rb", "examples/example4.rb", "examples/example5.rb", "examples/example6.rb", "examples/example7.rb", "examples/example8.rb", "examples/example9.rb", "examples/media/Parallax-scroll-example-layer-0.png", "examples/media/Parallax-scroll-example-layer-1.png", "examples/media/Parallax-scroll-example-layer-2.png", "examples/media/Parallax-scroll-example-layer-3.png", "examples/media/background1.png", "examples/media/fire_bullet.png", "examples/media/fireball.png", "examples/media/particle.png", "examples/media/ruby.png", "examples/media/spaceship.png", "examples/media/stickfigure.bmp", "examples/media/stickfigure.png", "examples/media/video_games.png", "lib/chingu.rb", "lib/chingu/actor.rb", "lib/chingu/animation.rb", "lib/chingu/assets.rb", "lib/chingu/basic_game_object.rb", "lib/chingu/core_extensions.rb", "lib/chingu/effects.rb", "lib/chingu/fpscounter.rb", "lib/chingu/game_object.rb", "lib/chingu/game_state.rb", "lib/chingu/game_state_manager.rb", "lib/chingu/game_states/debug.rb", "lib/chingu/game_states/fade_to.rb", "lib/chingu/game_states/pause.rb", "lib/chingu/gfx_helpers.rb", "lib/chingu/helpers.rb", "lib/chingu/inflector.rb", "lib/chingu/input.rb", "lib/chingu/named_resource.rb", "lib/chingu/parallax.rb", "lib/chingu/particle.rb", "lib/chingu/rect.rb", "lib/chingu/text.rb", "lib/chingu/traits/collision_detection.rb", "lib/chingu/traits/deprecated_module_visual.rb", "lib/chingu/traits/deprecated_visual.rb", "lib/chingu/traits/effect.rb", "lib/chingu/traits/input.rb", "lib/chingu/traits/rotation_center.rb", "lib/chingu/traits/velocity.rb", "lib/chingu/window.rb"]
|
15
15
|
s.homepage = %q{http://github.com/ippa/chingu/tree/master}
|
16
16
|
s.rdoc_options = ["--main", "README.rdoc"]
|
17
17
|
s.require_paths = ["lib"]
|
data/examples/example1.rb
CHANGED
data/examples/example2.rb
CHANGED
data/examples/example4.rb
CHANGED
data/lib/chingu.rb
CHANGED
@@ -11,12 +11,14 @@ require 'set'
|
|
11
11
|
effect
|
12
12
|
velocity
|
13
13
|
input
|
14
|
+
rotation_center
|
14
15
|
}.each do |lib|
|
15
16
|
root ||= File.dirname(File.expand_path(__FILE__))
|
16
17
|
require File.join(root,"chingu","traits",lib)
|
17
18
|
end
|
18
19
|
|
19
20
|
%w{ helpers
|
21
|
+
inflector
|
20
22
|
gfx_helpers
|
21
23
|
core_extensions
|
22
24
|
basic_game_object
|
@@ -49,5 +51,5 @@ require 'set'
|
|
49
51
|
end
|
50
52
|
|
51
53
|
module Chingu
|
52
|
-
VERSION = "0.5.
|
54
|
+
VERSION = "0.5.3"
|
53
55
|
end
|
data/lib/chingu/animation.rb
CHANGED
@@ -36,7 +36,7 @@ module Chingu
|
|
36
36
|
Array(traits).each do |trait|
|
37
37
|
|
38
38
|
if trait.is_a?(::Symbol) || trait.is_a?(::String)
|
39
|
-
string = "Chingu::Traits::#{trait
|
39
|
+
string = "Chingu::Traits::#{Chingu::Inflector.camelize(trait)}"
|
40
40
|
klass_or_module = eval(string)
|
41
41
|
|
42
42
|
if klass_or_module.is_a?(Class)
|
@@ -48,8 +48,7 @@ module Chingu
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
end
|
51
|
-
|
52
|
-
|
51
|
+
|
53
52
|
#
|
54
53
|
# BasicGameUnit initialize
|
55
54
|
#
|
data/lib/chingu/game_object.rb
CHANGED
@@ -7,51 +7,8 @@ module Chingu
|
|
7
7
|
|
8
8
|
class GameObject < Chingu::BasicGameObject
|
9
9
|
attr_accessor :image, :x, :y, :angle, :center_x, :center_y, :factor_x, :factor_y, :color, :mode, :zorder
|
10
|
-
|
11
|
-
|
12
|
-
# returns [center_x, center_y]
|
13
|
-
#
|
14
|
-
@@rotation_centers = {
|
15
|
-
:top_left => [0,0],
|
16
|
-
:left_top => [0,0],
|
17
|
-
|
18
|
-
:center_left => [0,0.5],
|
19
|
-
:left_center => [0,0.5],
|
20
|
-
|
21
|
-
:bottom_left => [0,1],
|
22
|
-
:left_bottom => [0,1],
|
23
|
-
|
24
|
-
:top_center => [0.5,0],
|
25
|
-
:center_top => [0.5,0],
|
26
|
-
|
27
|
-
:center_center => [0.5,0.5],
|
28
|
-
:center => [0.5,0.5],
|
29
|
-
|
30
|
-
:bottom_center => [0.5,1],
|
31
|
-
:center_bottom => [0.5,1],
|
32
|
-
|
33
|
-
:top_right => [1,0],
|
34
|
-
:right_top => [1,0],
|
35
|
-
|
36
|
-
:center_right => [1,0.5],
|
37
|
-
:right_center => [1,0.5],
|
38
|
-
|
39
|
-
:bottom_right => [1,1],
|
40
|
-
:right_bottom => [1,1]
|
41
|
-
}
|
42
|
-
|
43
|
-
#
|
44
|
-
# Sets @center_x and @center_y according to given alignment. Available alignments are:
|
45
|
-
#
|
46
|
-
# :top_left, :center_left, :bottom_left, :top_center,
|
47
|
-
# :center_center, :bottom_center, :top_right, :center_right and :bottom_right
|
48
|
-
#
|
49
|
-
# They're also available in the opposite order with the same meaning.
|
50
|
-
#
|
51
|
-
def rotation_center(alignment)
|
52
|
-
@center_x, @center_y = @@rotation_centers[alignment.to_sym]
|
53
|
-
end
|
54
|
-
|
10
|
+
has_trait :input, :rotation_center
|
11
|
+
|
55
12
|
def initialize(options = {})
|
56
13
|
super
|
57
14
|
|
@@ -115,6 +72,7 @@ module Chingu
|
|
115
72
|
not inside_window?(x,y)
|
116
73
|
end
|
117
74
|
|
75
|
+
# Calculates the distance from self to a given objevt
|
118
76
|
def distance_to(object)
|
119
77
|
distance(self.x, self.y, object.x, object.y)
|
120
78
|
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module Chingu
|
2
|
+
module Inflector
|
3
|
+
def Inflector.camelize(lower_case_and_underscored_word, first_letter_in_uppercase = true)
|
4
|
+
if first_letter_in_uppercase
|
5
|
+
lower_case_and_underscored_word.to_s.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
|
6
|
+
else
|
7
|
+
lower_case_and_underscored_word.first.downcase + camelize(lower_case_and_underscored_word)[1..-1]
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
module Chingu
|
2
|
+
module Traits
|
3
|
+
module RotationCenter
|
4
|
+
#
|
5
|
+
# returns [center_x, center_y] (see Gosu::Image#draw_rot)
|
6
|
+
#
|
7
|
+
@@rotation_centers = {
|
8
|
+
:top_left => [0,0],
|
9
|
+
:left_top => [0,0],
|
10
|
+
|
11
|
+
:center_left => [0,0.5],
|
12
|
+
:middle_left => [0,0.5],
|
13
|
+
:left_center => [0,0.5],
|
14
|
+
:left_middle => [0,0.5],
|
15
|
+
|
16
|
+
:bottom_left => [0,1],
|
17
|
+
:left_bottom => [0,1],
|
18
|
+
|
19
|
+
:top_center => [0.5,0],
|
20
|
+
:top_middle => [0.5,0],
|
21
|
+
:center_top => [0.5,0],
|
22
|
+
:middle_top => [0.5,0],
|
23
|
+
|
24
|
+
:center_center => [0.5,0.5],
|
25
|
+
:middle_middle => [0.5,0.5],
|
26
|
+
:center => [0.5,0.5],
|
27
|
+
:middle => [0.5,0.5],
|
28
|
+
|
29
|
+
:bottom_center => [0.5,1],
|
30
|
+
:bottom_middle => [0.5,1],
|
31
|
+
:center_bottom => [0.5,1],
|
32
|
+
:middle_bottom => [0.5,1],
|
33
|
+
|
34
|
+
:top_right => [1,0],
|
35
|
+
:right_top => [1,0],
|
36
|
+
|
37
|
+
:center_right => [1,0.5],
|
38
|
+
:middle_right => [1,0.5],
|
39
|
+
:right_center => [1,0.5],
|
40
|
+
:right_middle => [1,0.5],
|
41
|
+
|
42
|
+
:bottom_right => [1,1],
|
43
|
+
:right_bottom => [1,1]
|
44
|
+
}
|
45
|
+
|
46
|
+
#
|
47
|
+
# Sets @center_x and @center_y according to given alignment. Available alignments are:
|
48
|
+
#
|
49
|
+
# :top_left, :center_left, :bottom_left, :top_center,
|
50
|
+
# :center_center, :bottom_center, :top_right, :center_right and :bottom_right
|
51
|
+
#
|
52
|
+
# They're also available in the opposite order with the same meaning.
|
53
|
+
# They're also available (hey, hashlookups are speedy) with "middle" instead of "center" since
|
54
|
+
# those 2 words basicly have the same meaning and are both understandable.
|
55
|
+
#
|
56
|
+
def rotation_center(alignment)
|
57
|
+
@center_x, @center_y = @@rotation_centers[alignment.to_sym]
|
58
|
+
end
|
59
|
+
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
data/lib/chingu/window.rb
CHANGED
@@ -107,12 +107,12 @@ module Chingu
|
|
107
107
|
|
108
108
|
|
109
109
|
#
|
110
|
-
# Call update(
|
110
|
+
# Call update() on all game objects belonging to the main window.
|
111
111
|
#
|
112
112
|
update_game_objects
|
113
113
|
|
114
114
|
#
|
115
|
-
# Call update(
|
115
|
+
# Call update() on all game objects belonging to the current game state.
|
116
116
|
#
|
117
117
|
update_game_state_manager
|
118
118
|
end
|
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.
|
4
|
+
version: 0.5.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ippa
|
@@ -83,6 +83,7 @@ files:
|
|
83
83
|
- lib/chingu/game_states/pause.rb
|
84
84
|
- lib/chingu/gfx_helpers.rb
|
85
85
|
- lib/chingu/helpers.rb
|
86
|
+
- lib/chingu/inflector.rb
|
86
87
|
- lib/chingu/input.rb
|
87
88
|
- lib/chingu/named_resource.rb
|
88
89
|
- lib/chingu/parallax.rb
|
@@ -94,10 +95,12 @@ files:
|
|
94
95
|
- lib/chingu/traits/deprecated_visual.rb
|
95
96
|
- lib/chingu/traits/effect.rb
|
96
97
|
- lib/chingu/traits/input.rb
|
98
|
+
- lib/chingu/traits/rotation_center.rb
|
97
99
|
- lib/chingu/traits/velocity.rb
|
98
100
|
- lib/chingu/window.rb
|
99
101
|
has_rdoc: false
|
100
102
|
homepage: http://github.com/ippa/chingu/tree/master
|
103
|
+
licenses:
|
101
104
|
post_install_message:
|
102
105
|
rdoc_options:
|
103
106
|
- --main
|
@@ -119,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
119
122
|
requirements: []
|
120
123
|
|
121
124
|
rubyforge_project: chingu
|
122
|
-
rubygems_version: 1.
|
125
|
+
rubygems_version: 1.3.5
|
123
126
|
signing_key:
|
124
127
|
specification_version: 3
|
125
128
|
summary: Game framework built on top of the OpenGL accelerated game lib Gosu
|