Skip to content

Commit 5a35e1a

Browse files
committed
Initial Rope Commit
1 parent 011c038 commit 5a35e1a

7 files changed

Lines changed: 1034 additions & 1 deletion

File tree

demo/assets/snake.png

47.4 KB
Loading

demo/demo.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
var game = new Phaser.Game(window.innerWidth, window.innerHeight, Phaser.AUTO, '',{preload: preload, create: create, update:update});
2+
3+
var rope;
4+
5+
function preload() {
6+
console.log('preload');
7+
game.load.image('snake', 'assets/snake.png');
8+
}
9+
10+
function create() {
11+
console.log('create');
12+
rope = game.add.rope(0,this.game.world.centerY,'snake');
13+
}
14+
15+
function update() {
16+
17+
}

demo/index.html

Lines changed: 186 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,186 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<title></title>
5+
<script src="../src/physics/p2/p2.js"></script>
6+
<script src="../src/pixi/Pixi.js"></script>
7+
<script src="../src/pixi/core/Point.js"></script>
8+
<script src="../src/pixi/core/Rectangle.js"></script>
9+
<script src="../src/pixi/core/Polygon.js"></script>
10+
<script src="../src/pixi/core/Circle.js"></script>
11+
<script src="../src/pixi/core/Ellipse.js"></script>
12+
<script src="../src/pixi/core/Matrix.js"></script>
13+
<script src="../src/pixi/display/DisplayObject.js"></script>
14+
<script src="../src/pixi/display/DisplayObjectContainer.js"></script>
15+
<script src="../src/pixi/display/Sprite.js"></script>
16+
<script src="../src/pixi/display/SpriteBatch.js"></script>
17+
<script src="../src/pixi/filters/FilterBlock.js"></script>
18+
<script src="../src/pixi/text/Text.js"></script>
19+
<script src="../src/pixi/text/BitmapText.js"></script>
20+
<script src="../src/pixi/display/Stage.js"></script>
21+
<script src="../src/pixi/utils/Utils.js"></script>
22+
<script src="../src/pixi/utils/EventTarget.js"></script>
23+
<script src="../src/pixi/utils/Polyk.js"></script>
24+
<script src="../src/pixi/renderers/webgl/utils/WebGLShaderUtils.js"></script>
25+
<script src="../src/pixi/renderers/webgl/shaders/PixiShader.js"></script>
26+
<script src="../src/pixi/renderers/webgl/shaders/PixiFastShader.js"></script>
27+
<script src="../src/pixi/renderers/webgl/shaders/StripShader.js"></script>
28+
<script src="../src/pixi/renderers/webgl/shaders/PrimitiveShader.js"></script>
29+
<script src="../src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js"></script>
30+
<script src="../src/pixi/renderers/webgl/utils/WebGLGraphics.js"></script>
31+
<script src="../src/pixi/renderers/webgl/WebGLRenderer.js"></script>
32+
<script src="../src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js"></script>
33+
<script src="../src/pixi/renderers/webgl/utils/WebGLMaskManager.js"></script>
34+
<script src="../src/pixi/renderers/webgl/utils/WebGLStencilManager.js"></script>
35+
<script src="../src/pixi/renderers/webgl/utils/WebGLShaderManager.js"></script>
36+
<script src="../src/pixi/renderers/webgl/utils/WebGLSpriteBatch.js"></script>
37+
<script src="../src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js"></script>
38+
<script src="../src/pixi/renderers/webgl/utils/WebGLFilterManager.js"></script>
39+
<script src="../src/pixi/renderers/webgl/utils/FilterTexture.js"></script>
40+
<script src="../src/pixi/renderers/canvas/utils/CanvasMaskManager.js"></script>
41+
<script src="../src/pixi/renderers/canvas/utils/CanvasTinter.js"></script>
42+
<script src="../src/pixi/renderers/canvas/CanvasRenderer.js"></script>
43+
<script src="../src/pixi/renderers/canvas/CanvasGraphics.js"></script>
44+
<script src="../src/pixi/primitives/Graphics.js"></script>
45+
<script src="../src/pixi/extras/Strip.js"></script>
46+
<script src="../src/pixi/extras/Rope.js"></script>
47+
<script src="../src/pixi/extras/TilingSprite.js"></script>
48+
<script src="../src/pixi/textures/BaseTexture.js"></script>
49+
<script src="../src/pixi/textures/Texture.js"></script>
50+
<script src="../src/pixi/textures/RenderTexture.js"></script>
51+
52+
<script src="../src/Phaser.js"></script>
53+
<script src="../src/utils/Utils.js"></script>
54+
55+
<script src="../src/geom/Circle.js"></script>
56+
<script src="../src/geom/Point.js"></script>
57+
<script src="../src/geom/Rectangle.js"></script>
58+
<script src="../src/geom/Line.js"></script>
59+
<script src="../src/geom/Ellipse.js"></script>
60+
<script src="../src/geom/Polygon.js"></script>
61+
62+
<script src="../src/core/Camera.js"></script>
63+
<script src="../src/core/State.js"></script>
64+
<script src="../src/core/StateManager.js"></script>
65+
<script src="../src/core/ArrayList.js"></script>
66+
<script src="../src/core/LinkedList.js"></script>
67+
<script src="../src/core/Signal.js"></script>
68+
<script src="../src/core/SignalBinding.js"></script>
69+
<script src="../src/core/Filter.js"></script>
70+
<script src="../src/core/Plugin.js"></script>
71+
<script src="../src/core/PluginManager.js"></script>
72+
<script src="../src/core/Stage.js"></script>
73+
<script src="../src/core/Group.js"></script>
74+
<script src="../src/core/World.js"></script>
75+
<script src="../src/core/Game.js"></script>
76+
<script src="../src/core/ScaleManager.js"></script>
77+
78+
<script src="../src/input/Input.js"></script>
79+
<script src="../src/input/Key.js"></script>
80+
<script src="../src/input/Keyboard.js"></script>
81+
<script src="../src/input/Mouse.js"></script>
82+
<script src="../src/input/MSPointer.js"></script>
83+
<script src="../src/input/Pointer.js"></script>
84+
<script src="../src/input/Touch.js"></script>
85+
<script src="../src/input/Gamepad.js"></script>
86+
<script src="../src/input/SinglePad.js"></script>
87+
<script src="../src/input/GamepadButton.js"></script>
88+
<script src="../src/input/InputHandler.js"></script>
89+
90+
<script src="../src/gameobjects/Events.js"></script>
91+
<script src="../src/gameobjects/GameObjectCreator.js"></script>
92+
<script src="../src/gameobjects/GameObjectFactory.js"></script>
93+
<script src="../src/gameobjects/BitmapData.js"></script>
94+
<script src="../src/gameobjects/Sprite.js"></script>
95+
<script src="../src/gameobjects/Image.js"></script>
96+
<script src="../src/gameobjects/TileSprite.js"></script>
97+
<script src="../src/gameobjects/Rope.js"></script>
98+
<script src="../src/gameobjects/Text.js"></script>
99+
<script src="../src/gameobjects/BitmapText.js"></script>
100+
<script src="../src/gameobjects/Button.js"></script>
101+
<script src="../src/gameobjects/Graphics.js"></script>
102+
<script src="../src/gameobjects/RenderTexture.js"></script>
103+
<script src="../src/gameobjects/SpriteBatch.js"></script>
104+
<script src="../src/gameobjects/RetroFont.js"></script>
105+
<script src="../src/gameobjects/Particle.js"></script>
106+
107+
<script src="../src/system/Canvas.js"></script>
108+
<script src="../src/system/Device.js"></script>
109+
<script src="../src/system/RequestAnimationFrame.js"></script>
110+
111+
<script src="../src/math/Math.js"></script>
112+
<script src="../src/math/RandomDataGenerator.js"></script>
113+
<script src="../src/math/QuadTree.js"></script>
114+
115+
<script src="../src/net/Net.js"></script>
116+
117+
<script src="../src/tween/TweenManager.js"></script>
118+
<script src="../src/tween/Tween.js"></script>
119+
<script src="../src/tween/Easing.js"></script>
120+
121+
<script src="../src/time/Time.js"></script>
122+
<script src="../src/time/Timer.js"></script>
123+
<script src="../src/time/TimerEvent.js"></script>
124+
125+
<script src="../src/animation/AnimationManager.js"></script>
126+
<script src="../src/animation/Animation.js"></script>
127+
<script src="../src/animation/Frame.js"></script>
128+
<script src="../src/animation/FrameData.js"></script>
129+
<script src="../src/animation/AnimationParser.js"></script>
130+
131+
<script src="../src/loader/Cache.js"></script>
132+
<script src="../src/loader/Loader.js"></script>
133+
<script src="../src/loader/LoaderParser.js"></script>
134+
135+
<script src="../src/sound/Sound.js"></script>
136+
<script src="../src/sound/SoundManager.js"></script>
137+
138+
<script src="../src/utils/Debug.js"></script>
139+
<script src="../src/utils/Color.js"></script>
140+
141+
<script src="../src/physics/Physics.js"></script>
142+
143+
<script src="../src/particles/Particles.js"></script>
144+
<script src="../src/particles/arcade/ArcadeParticles.js"></script>
145+
<script src="../src/particles/arcade/Emitter.js"></script>
146+
147+
<script src="../src/tilemap/Tile.js"></script>
148+
<script src="../src/tilemap/Tilemap.js"></script>
149+
<script src="../src/tilemap/TilemapLayer.js"></script>
150+
<script src="../src/tilemap/TilemapParser.js"></script>
151+
<script src="../src/tilemap/Tileset.js"></script>
152+
153+
154+
<script src="../src/physics/arcade/World.js"></script>
155+
<script src="../src/physics/arcade/Body.js"></script>
156+
157+
158+
<script src="../src/physics/p2/World.js"></script>
159+
<script src="../src/physics/p2/FixtureList.js"></script>
160+
<script src="../src/physics/p2/PointProxy.js"></script>
161+
<script src="../src/physics/p2/InversePointProxy.js"></script>
162+
<script src="../src/physics/p2/Body.js"></script>
163+
<script src="../src/physics/p2/BodyDebug.js"></script>
164+
<script src="../src/physics/p2/Spring.js"></script>
165+
<script src="../src/physics/p2/Material.js"></script>
166+
<script src="../src/physics/p2/ContactMaterial.js"></script>
167+
<script src="../src/physics/p2/CollisionGroup.js"></script>
168+
<script src="../src/physics/p2/DistanceConstraint.js"></script>
169+
<script src="../src/physics/p2/GearConstraint.js"></script>
170+
<script src="../src/physics/p2/LockConstraint.js"></script>
171+
<script src="../src/physics/p2/PrismaticConstraint.js"></script>
172+
<script src="../src/physics/p2/RevoluteConstraint.js"></script>
173+
174+
<script src="../src/physics/arcade/World.js"></script>
175+
<script src="../src/physics/arcade/Body.js"></script>
176+
177+
<script src="../src/physics/ninja/World.js"></script>
178+
<script src="../src/physics/ninja/Body.js"></script>
179+
<script src="../src/physics/ninja/AABB.js"></script>
180+
<script src="../src/physics/ninja/Tile.js"></script>
181+
<script src="../src/physics/ninja/Circle.js"></script>
182+
</head>
183+
<body>
184+
<script src="demo.js"></script>
185+
</body>
186+
</html>

src/Phaser.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ var Phaser = Phaser || {
4444
SPRITEBATCH: 17,
4545
RETROFONT: 18,
4646
POINTER: 19,
47+
ROPE: 20,
4748

4849
// The various blend modes supported by pixi / phaser
4950
blendModes: {
@@ -81,4 +82,4 @@ var Phaser = Phaser || {
8182
PIXI.InteractionManager = PIXI.InteractionManager || function () {};
8283

8384
// Equally we're going to supress the Pixi console log, with their agreement.
84-
PIXI.dontSayHello = true;
85+
PIXI.dontSayHello = true;

src/gameobjects/GameObjectCreator.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,24 @@ Phaser.GameObjectCreator.prototype = {
158158

159159
},
160160

161+
/**
162+
* Creates a new Rope object.
163+
*
164+
* @method Phaser.GameObjectCreator#rope
165+
* @param {number} x - The x coordinate (in world space) to position the Rope at.
166+
* @param {number} y - The y coordinate (in world space) to position the Rope at.
167+
* @param {number} width - The width of the Rope.
168+
* @param {number} height - The height of the Rope.
169+
* @param {string|Phaser.RenderTexture|Phaser.BitmapData|PIXI.Texture} key - This is the image or texture used by the TileSprite during rendering. It can be a string which is a reference to the Cache entry, or an instance of a RenderTexture or PIXI.Texture.
170+
* @param {string|number} frame - If this Rope is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index.
171+
* @return {Phaser.Rope} The newly created rope object.
172+
*/
173+
rope: function (x, y, width, height, key, frame) {
174+
175+
return new Phaser.Rope(this.game, x, y, width, height, key, frame);
176+
177+
},
178+
161179
/**
162180
* Creates a new Text object.
163181
*

src/gameobjects/GameObjectFactory.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,27 @@ Phaser.GameObjectFactory.prototype = {
200200

201201
},
202202

203+
/**
204+
* Creates a new Rope object.
205+
*
206+
* @method Phaser.GameObjectFactory#rope
207+
* @param {number} x - The x coordinate (in world space) to position the TileSprite at.
208+
* @param {number} y - The y coordinate (in world space) to position the TileSprite at.
209+
* @param {number} width - The width of the TileSprite.
210+
* @param {number} height - The height of the TileSprite.
211+
* @param {string|Phaser.RenderTexture|Phaser.BitmapData|PIXI.Texture} key - This is the image or texture used by the TileSprite during rendering. It can be a string which is a reference to the Cache entry, or an instance of a RenderTexture or PIXI.Texture.
212+
* @param {string|number} frame - If this TileSprite is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index.
213+
* @param {Phaser.Group} [group] - Optional Group to add the object to. If not specified it will be added to the World group.
214+
* @return {Phaser.TileSprite} The newly created tileSprite object.
215+
*/
216+
rope: function (x, y, width, height, key, frame, group) {
217+
218+
if (typeof group === 'undefined') { group = this.world; }
219+
220+
return group.add(new Phaser.Rope(this.game, x, y, width, height, key, frame));
221+
222+
},
223+
203224
/**
204225
* Creates a new Text object.
205226
*

0 commit comments

Comments
 (0)