opal-pixi 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []