opal-pixi 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 5a87c04aa86e0bd7be498a8c95f272f90ee12912
4
+ data.tar.gz: 7de8151452abcee9332625a99f031fc6d6ddf0ba
5
+ SHA512:
6
+ metadata.gz: c0f8fed62a7670a822d13ace8a6aa56ec4bdd1ef0b2ffdcd2467d57896cb18cdca760e7243363a32a6d91ecb87d1b8ada6987c188f7dcd4f68c0e74de155ae26
7
+ data.tar.gz: 2fdd91953ce00bce1b1a39d6e9ae0be6cc383d2ef97e119ecb09a32cf58d775d3477a7f9a8e347bb2c4952394fb44bb0b7e6fbe682da7fccf4c44858003452bc
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,32 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ opal-pixi (0.0.1)
5
+ opal (~> 0.6.0)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ hike (1.2.3)
11
+ json (1.8.1)
12
+ multi_json (1.10.1)
13
+ opal (0.6.3)
14
+ source_map
15
+ sprockets
16
+ rack (1.6.0)
17
+ rake (10.4.2)
18
+ source_map (3.0.1)
19
+ json
20
+ sprockets (2.12.3)
21
+ hike (~> 1.2)
22
+ multi_json (~> 1.0)
23
+ rack (~> 1.0)
24
+ tilt (~> 1.1, != 1.3.0)
25
+ tilt (1.4.1)
26
+
27
+ PLATFORMS
28
+ ruby
29
+
30
+ DEPENDENCIES
31
+ opal-pixi!
32
+ rake
data/README.md ADDED
File without changes
data/Rakefile ADDED
@@ -0,0 +1,3 @@
1
+ require 'bundler'
2
+ Bundler.require
3
+ Bundler::GemHelper.install_tasks
data/demo/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'opal-pixi', path: '..'
4
+ gem 'opal-browser', github: 'opal/opal-browser'
data/demo/Gemfile.lock ADDED
@@ -0,0 +1,30 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ opal-pixi (0.0.1)
5
+ opal (~> 0.6.0)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ hike (1.2.3)
11
+ json (1.8.1)
12
+ multi_json (1.10.1)
13
+ opal (0.6.3)
14
+ source_map
15
+ sprockets
16
+ rack (1.6.0)
17
+ source_map (3.0.1)
18
+ json
19
+ sprockets (2.12.3)
20
+ hike (~> 1.2)
21
+ multi_json (~> 1.0)
22
+ rack (~> 1.0)
23
+ tilt (~> 1.1, != 1.3.0)
24
+ tilt (1.4.1)
25
+
26
+ PLATFORMS
27
+ ruby
28
+
29
+ DEPENDENCIES
30
+ opal-pixi!
data/demo/app/main.rb ADDED
@@ -0,0 +1,29 @@
1
+ require 'opal'
2
+ require 'opal/pixi'
3
+ require 'native'
4
+
5
+ class Game
6
+ def initialize
7
+ stage = PIXI::Stage.new 0x66FF99
8
+ renderer = PIXI::WebGLRenderer.new 400, 300
9
+
10
+ # opal-jquery would clean this up
11
+ body = Native(`window.document.body`)
12
+ body.appendChild renderer.view
13
+
14
+
15
+ texture = PIXI::Texture.from_image "bunny.png"
16
+ bunny = PIXI::Sprite.new texture
17
+ bunny.anchor = PIXI::Point.new(0.5, 0.5)
18
+ bunny.position = PIXI::Point.new(300, 150)
19
+
20
+ stage.add_child(bunny)
21
+
22
+ animate = Proc.new do
23
+ `requestAnimFrame(animate)`
24
+ bunny.rotation += 0.1
25
+ renderer.render stage
26
+ end
27
+ `requestAnimFrame(animate)`
28
+ end
29
+ end
data/demo/bunny.png ADDED
Binary file
data/demo/config.ru ADDED
@@ -0,0 +1,11 @@
1
+ # config.ru
2
+ require 'bundler'
3
+ Bundler.require
4
+
5
+ run Opal::Server.new { |s|
6
+ s.append_path 'app'
7
+
8
+ s.main = 'main'
9
+
10
+ s.index_path = 'index.html'
11
+ }
data/demo/index.html ADDED
@@ -0,0 +1,18 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset= "utf-8" />
5
+ <title>Opal-Pixi</title>
6
+ <link rel="stylesheet" href="style.css">
7
+ <script src="//cdnjs.cloudflare.com/ajax/libs/pixi.js/2.2.0/pixi.js"></script>
8
+ <script src="/assets/main.js"></script>
9
+ </head>
10
+
11
+ <body>
12
+ <script>
13
+ window.onload = function() {
14
+ Opal.Game.$new()
15
+ }
16
+ </script>
17
+ </body>
18
+ </html>
data/demo/main.js ADDED
@@ -0,0 +1,36 @@
1
+ // create an new instance of a pixi stage
2
+ var stage = new PIXI.Stage(0x66FF99);
3
+
4
+ // create a renderer instance.
5
+ var renderer = PIXI.autoDetectRenderer(400, 300);
6
+
7
+ // add the renderer view element to the DOM
8
+ document.body.appendChild(renderer.view);
9
+
10
+ requestAnimFrame( animate );
11
+
12
+ // create a texture from an image path
13
+ var texture = PIXI.Texture.fromImage("bunny.png");
14
+ // create a new Sprite using the texture
15
+ var bunny = new PIXI.Sprite(texture);
16
+
17
+ // center the sprites anchor point
18
+ bunny.anchor.x = 0.5;
19
+ bunny.anchor.y = 0.5;
20
+
21
+ // move the sprite t the center of the screen
22
+ bunny.position.x = 200;
23
+ bunny.position.y = 150;
24
+
25
+ stage.addChild(bunny);
26
+
27
+ function animate() {
28
+
29
+ requestAnimFrame( animate );
30
+
31
+ // just for fun, lets rotate mr rabbit a little
32
+ bunny.rotation += 0.1;
33
+
34
+ // render the stage
35
+ renderer.render(stage);
36
+ }
data/demo/style.css ADDED
@@ -0,0 +1,5 @@
1
+ body {
2
+ margin: 0;
3
+ padding: 0;
4
+ background-color: #000000;
5
+ }
@@ -0,0 +1,12 @@
1
+
2
+ module PIXI
3
+ class Point
4
+ %x{
5
+ #{self}._proto = window.PIXI.Point.prototype, def = #{self}._proto;
6
+ window.PIXI.Point.prototype._klass = #{self};
7
+ }
8
+ def self.new(x,y)
9
+ `new window.PIXI.Point(x,y)`
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,26 @@
1
+ module PIXI
2
+ class Sprite
3
+ %x{
4
+ #{self}._proto = window.PIXI.Sprite.prototype, def = #{self}._proto;
5
+ window.PIXI.Sprite.prototype._klass = #{self};
6
+ }
7
+ def self.new(texture)
8
+ `new window.PIXI.Sprite(texture)`
9
+ end
10
+ def anchor
11
+ Point.new `#{self}.anchor.x`,`#{self}.anchor.y`
12
+ end
13
+ def rotation
14
+ `self.rotation`
15
+ end
16
+ def rotation=(r)
17
+ `self.rotation = r`
18
+ end
19
+ def anchor=(a)
20
+ `self.anchor = a`
21
+ end
22
+ def position=(p)
23
+ `self.position = p`
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,16 @@
1
+ module PIXI
2
+ class Stage
3
+ %x{
4
+ #{self}._proto = window.PIXI.Stage.prototype, def = #{self}._proto;
5
+ window.PIXI.Stage.prototype._klass = #{self};
6
+ }
7
+
8
+ def self.new(color)
9
+ `new window.PIXI.Stage(color)`
10
+ end
11
+
12
+ def add_child(child)
13
+ `#{self}.addChild(child)`
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,11 @@
1
+ module PIXI
2
+ class Texture
3
+ %x{
4
+ #{self}._proto = window.PIXI.Texture.prototype, def = #{self}._proto;
5
+ window.PIXI.Texture.prototype._klass = #{self};
6
+ }
7
+ def self.from_image(name)
8
+ `window.PIXI.Texture.fromImage(name)`
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,5 @@
1
+ module Opal
2
+ module PIXI
3
+ VERSION = '0.0.1'
4
+ end
5
+ end
@@ -0,0 +1,19 @@
1
+ module PIXI
2
+ class WebGLRenderer
3
+ %x{
4
+ #{self}._proto = window.PIXI.WebGLRenderer.prototype, def = #{self}._proto;
5
+ window.PIXI.WebGLRenderer.prototype._klass = #{self};
6
+ }
7
+ def self.new(width, height)
8
+ `new window.PIXI.WebGLRenderer(width, height)`
9
+ end
10
+
11
+ def render(stage)
12
+ `self.render(stage)`
13
+ end
14
+
15
+ def view
16
+ `self.view`
17
+ end
18
+ end
19
+ end
data/lib/opal/pixi.rb ADDED
@@ -0,0 +1,12 @@
1
+ if RUBY_ENGINE == 'opal'
2
+ require 'opal/pixi/stage'
3
+ require 'opal/pixi/web_gl_renderer'
4
+ require 'opal/pixi/sprite'
5
+ require 'opal/pixi/point'
6
+ require 'opal/pixi/texture'
7
+ else
8
+ require 'opal'
9
+ require 'opal/pixi/version'
10
+
11
+ Opal.append_path File.expand_path('../..', __FILE__).untaint
12
+ end
data/lib/opal-pixi.rb ADDED
@@ -0,0 +1 @@
1
+ require 'opal/pixi'
data/opal-pixi.gemspec ADDED
@@ -0,0 +1,20 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/opal/pixi/version', __FILE__)
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = 'opal-pixi'
6
+ s.version = Opal::PIXI::VERSION
7
+ s.authors = [ 'George D. Plymale II', 'Gabriel Rios' ]
8
+ s.email = [ 'gabrielfalcaorios@gmail.com']
9
+ s.homepage = 'http://github.com/orbitalimpact/opal-pixi'
10
+ s.summary = [ 'Pixi wrapper for opal' ]
11
+ s.description = [ 'Pixi wrapper for opal' ]
12
+
13
+ s.files = `git ls-files`.split("\n")
14
+ s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
15
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
+ s.require_paths = ['lib']
17
+
18
+ s.add_runtime_dependency 'opal', '~> 0.6.0'
19
+ s.add_development_dependency 'rake'
20
+ end
metadata ADDED
@@ -0,0 +1,93 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: opal-pixi
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - George D. Plymale II
8
+ - Gabriel Rios
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2014-12-27 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: opal
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: 0.6.0
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: 0.6.0
28
+ - !ruby/object:Gem::Dependency
29
+ name: rake
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ description: '["Pixi wrapper for opal"]'
43
+ email:
44
+ - gabrielfalcaorios@gmail.com
45
+ executables: []
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - Gemfile
50
+ - Gemfile.lock
51
+ - README.md
52
+ - Rakefile
53
+ - demo/Gemfile
54
+ - demo/Gemfile.lock
55
+ - demo/app/main.rb
56
+ - demo/bunny.png
57
+ - demo/config.ru
58
+ - demo/index.html
59
+ - demo/main.js
60
+ - demo/style.css
61
+ - lib/opal-pixi.rb
62
+ - lib/opal/pixi.rb
63
+ - lib/opal/pixi/point.rb
64
+ - lib/opal/pixi/sprite.rb
65
+ - lib/opal/pixi/stage.rb
66
+ - lib/opal/pixi/texture.rb
67
+ - lib/opal/pixi/version.rb
68
+ - lib/opal/pixi/web_gl_renderer.rb
69
+ - opal-pixi.gemspec
70
+ homepage: http://github.com/orbitalimpact/opal-pixi
71
+ licenses: []
72
+ metadata: {}
73
+ post_install_message:
74
+ rdoc_options: []
75
+ require_paths:
76
+ - lib
77
+ required_ruby_version: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ required_rubygems_version: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: '0'
87
+ requirements: []
88
+ rubyforge_project:
89
+ rubygems_version: 2.2.2
90
+ signing_key:
91
+ specification_version: 4
92
+ summary: '["Pixi wrapper for opal"]'
93
+ test_files: []