mirror of
https://github.com/logsol/chuck.js.git
synced 2026-05-11 18:47:35 +00:00
Fixed tile and scale sizes, Fixed Animation using RequestAnimationFrame
This commit is contained in:
parent
01043a2ea3
commit
ff6456fd47
6 changed files with 137 additions and 116 deletions
|
|
@ -36,8 +36,8 @@ define(["Chuck/Settings", "Box2D/Box2D"], function(Settings, Box2D) {
|
|||
|
||||
var bodyDef = new Box2D.Dynamics.b2BodyDef();
|
||||
bodyDef.type = Box2D.Dynamics.b2Body.b2_staticBody;
|
||||
bodyDef.position.x = tile.x / Settings.RATIO * Settings.RATIO / 2;
|
||||
bodyDef.position.y = tile.y / Settings.RATIO * Settings.RATIO / 2;
|
||||
bodyDef.position.x = tile.x * Settings.TILE_SIZE / Settings.RATIO;
|
||||
bodyDef.position.y = tile.y * Settings.TILE_SIZE / Settings.RATIO;
|
||||
bodyDef.angle = tile.r * 90 * Math.PI / 180;
|
||||
|
||||
var tileShape = new Box2D.Collision.Shapes.b2PolygonShape();
|
||||
|
|
@ -179,82 +179,83 @@ define(["Chuck/Settings", "Box2D/Box2D"], function(Settings, Box2D) {
|
|||
|
||||
this.levelObject = {
|
||||
tiles: [
|
||||
{s:1, x: 3, y:18},
|
||||
{s:1, x:37, y:27},
|
||||
{s:1, x:20, y:24},
|
||||
{s:1, x:24, y:27},
|
||||
{s:1, x:37, y:26},
|
||||
{s:1, x: 9, y:18},
|
||||
{s:2, x:32, y:25, r:1},
|
||||
{s:1, x:23, y:27},
|
||||
{s:3, x:34, y:24, r:1},
|
||||
{s:1, x:35, y:28},
|
||||
{s:4, x:17, y:21},
|
||||
{s:2, x:21, y:24},
|
||||
{s:2, x:42, y:23, r:3},
|
||||
{s:3, x:30, y:24, r:3},
|
||||
{s:2, x:22, y:25},
|
||||
{s:1, x:40, y:25},
|
||||
{s:1, x:38, y:26},
|
||||
{s:1, x: 8, y: 8},
|
||||
{s:1, x:38, y:25},
|
||||
{s:1, x:28, y:28},
|
||||
{s:1, x:36, y:27},
|
||||
{s:1, x: 7, y:18},
|
||||
{s:2, x:20, y:23},
|
||||
{s:2, x:43, y:23, r:1},
|
||||
{s:6, x:31, y:24},
|
||||
{s:1, x:16, y:21},
|
||||
{s:1, x: 1, y:18},
|
||||
{s:1, x:31, y:29},
|
||||
{s:2, x:30, y:25, r:2},
|
||||
{s:4, x:11, y:18},
|
||||
{s:1, x:28, y:27},
|
||||
{s:1, x:28, y:26},
|
||||
{s:1, x:28, y:29},
|
||||
{s:1, x:19, y:23},
|
||||
{s:5, x:12, y:18, r:1},
|
||||
{s:1, x:42, y:24},
|
||||
{s:6, x:33, y:24, r:2},
|
||||
{s:1, x:39, y:25},
|
||||
{s:1, x:33, y:29},
|
||||
{s:1, x:29, y:29},
|
||||
{s:1, x:21, y:25},
|
||||
{s:1, x:27, y:27},
|
||||
{s:5, x:16, y:20, r:1},
|
||||
{s:1, x: 5, y:18},
|
||||
{s:5, x:18, y:21, r:1},
|
||||
{s:4, x:13, y:19},
|
||||
{s:1, x:14, y:20},
|
||||
{s:1, x:30, y:29},
|
||||
{s:1, x: 4, y:18},
|
||||
{s:1, x: 6, y:18},
|
||||
{s:1, x: 2, y:18},
|
||||
{s:1, x:32, y:24},
|
||||
{s:1, x:34, y:29},
|
||||
{s:1, x:32, y:29},
|
||||
{s:2, x: 1, y:16},
|
||||
{s:1, x:10, y:18},
|
||||
{s:1, x:42, y:25},
|
||||
{s:2, x:28, y:25, r:3},
|
||||
{s:2, x: 0, y:16, r:2},
|
||||
{s:1, x:22, y:27},
|
||||
{s:1, x:25, y:27},
|
||||
{s:1, x:31, y:25},
|
||||
{s:5, x:14, y:19, r:1},
|
||||
{s:1, x:41, y:25},
|
||||
{s:1, x:36, y:28},
|
||||
{s:4, x:15, y:20},
|
||||
{s:2, x:19, y:22},
|
||||
{s:3, x:26, y:26, r:3},
|
||||
{s:1, x:26, y:27},
|
||||
{s:1, x:18, y:22},
|
||||
{s:6, x:27, y:26},
|
||||
{s:1, x:22, y:26},
|
||||
{s:1, x: 1, y:17},
|
||||
{s:1, x:35, y:29},
|
||||
{s:1, x:12, y:1}
|
||||
]
|
||||
{s:1, x:3, y:18},
|
||||
{s:1, x:37, y:27},
|
||||
{s:1, x:20, y:24},
|
||||
{s:1, x:24, y:27},
|
||||
{s:1, x:37, y:26},
|
||||
{s:1, x:9, y:18},
|
||||
{s:2, x:32, y:25, r:1},
|
||||
{s:1, x:23, y:27},
|
||||
{s:3, x:34, y:24, r:1},
|
||||
{s:1, x:35, y:28},
|
||||
{s:4, x:17, y:21},
|
||||
{s:2, x:21, y:24},
|
||||
{s:2, x:42, y:23, r:3},
|
||||
{s:3, x:30, y:24, r:3},
|
||||
{s:2, x:22, y:25},
|
||||
{s:1, x:40, y:25},
|
||||
{s:1, x:38, y:26},
|
||||
{s:1, x:8, y:18},
|
||||
{s:1, x:38, y:25},
|
||||
{s:1, x:28, y:28},
|
||||
{s:1, x:36, y:27},
|
||||
{s:1, x:7, y:18},
|
||||
{s:2, x:20, y:23},
|
||||
{s:2, x:43, y:23, r:1},
|
||||
{s:6, x:31, y:24},
|
||||
{s:1, x:16, y:21},
|
||||
{s:1, x:1, y:18},
|
||||
{s:1, x:31, y:29},
|
||||
{s:2, x:30, y:25, r:2},
|
||||
{s:4, x:11, y:18},
|
||||
{s:1, x:28, y:27},
|
||||
{s:1, x:28, y:26},
|
||||
{s:1, x:28, y:29},
|
||||
{s:1, x:19, y:23},
|
||||
{s:5, x:12, y:18, r:1},
|
||||
{s:1, x:42, y:24},
|
||||
{s:6, x:33, y:24, r:2},
|
||||
{s:1, x:39, y:25},
|
||||
{s:1, x:33, y:29},
|
||||
{s:1, x:29, y:29},
|
||||
{s:1, x:21, y:25},
|
||||
{s:1, x:27, y:27},
|
||||
{s:5, x:16, y:20, r:1},
|
||||
{s:1, x:5, y:18},
|
||||
{s:5, x:18, y:21, r:1},
|
||||
{s:4, x:13, y:19},
|
||||
{s:1, x:14, y:20},
|
||||
{s:1, x:30, y:29},
|
||||
{s:1, x:4, y:18},
|
||||
{s:1, x:6, y:18},
|
||||
{s:1, x:2, y:18},
|
||||
{s:1, x:32, y:24},
|
||||
{s:1, x:34, y:29},
|
||||
{s:1, x:32, y:29},
|
||||
{s:2, x:1, y:16},
|
||||
{s:1, x:10, y:18},
|
||||
{s:1, x:42, y:25},
|
||||
{s:2, x:28, y:25, r:3},
|
||||
{s:2, x:0, y:16, r:2},
|
||||
{s:1, x:22, y:27},
|
||||
{s:1, x:25, y:27},
|
||||
{s:1, x:31, y:25},
|
||||
{s:5, x:14, y:19, r:1},
|
||||
{s:1, x:41, y:25},
|
||||
{s:1, x:36, y:28},
|
||||
{s:4, x:15, y:20},
|
||||
{s:2, x:19, y:22},
|
||||
{s:3, x:26, y:26, r:3},
|
||||
{s:1, x:26, y:27},
|
||||
{s:1, x:18, y:22},
|
||||
{s:6, x:27, y:26},
|
||||
{s:1, x:22, y:26},
|
||||
{s:1, x:1, y:17},
|
||||
{s:1, x:35, y:29},
|
||||
{s:1, x:12, y:19}
|
||||
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ define(["Box2D/Box2D", "Chuck/Settings"], function(Box2D, Settings){
|
|||
}
|
||||
|
||||
Doll.prototype.jumping = function () {
|
||||
var vector = new Box2D.Common.Math.b2Vec2(0, -0.1);
|
||||
var vector = new Box2D.Common.Math.b2Vec2(0, -0.05);
|
||||
this._body.ApplyImpulse(vector, this._body.GetPosition());
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,6 @@ define(["Chuck/Settings", "Box2D/Box2D"], function(Settings, Box2D){
|
|||
|
||||
debugDraw.SetSprite(debugSprite);
|
||||
debugDraw.SetDrawScale(Settings.RATIO);
|
||||
debugDraw.SetDrawScale(30.0);
|
||||
debugDraw.SetFillAlpha(0.5);
|
||||
debugDraw.SetLineThickness(1.0);
|
||||
|
||||
|
|
|
|||
|
|
@ -4,10 +4,11 @@ var requires = [
|
|||
"Chuck/Control/InputControlUnit",
|
||||
"Chuck/Settings",
|
||||
"Box2D/Box2D",
|
||||
"Chuck/Loader/Level"
|
||||
"Chuck/Loader/Level",
|
||||
"RequestAnimationFrame"
|
||||
];
|
||||
|
||||
define(requires, function(PhysicsEngine, Player, InputControlUnit, Settings, Box2D, Level){
|
||||
define(requires, function(PhysicsEngine, Player, InputControlUnit, Settings, Box2D, Level, requestAnimFrame){
|
||||
|
||||
function Processor () {
|
||||
this._me;
|
||||
|
|
@ -41,10 +42,11 @@ define(requires, function(PhysicsEngine, Player, InputControlUnit, Settings, Box
|
|||
//this._physicsEngine.setCollisionDetector(this._me);
|
||||
}
|
||||
|
||||
//new Chuck.Loader.Level(this._physicsEngine);
|
||||
//new Chuck.Loader.Level(this._physicsEngine);u
|
||||
//new Items();
|
||||
|
||||
setInterval(this._update, 1000/60, this);
|
||||
//setInterval(this._update, 1000/60, this);
|
||||
this._update();
|
||||
}
|
||||
|
||||
Processor.prototype.loadLevel = function(path) {
|
||||
|
|
@ -101,15 +103,18 @@ define(requires, function(PhysicsEngine, Player, InputControlUnit, Settings, Box
|
|||
return this._me;
|
||||
}
|
||||
|
||||
Processor.prototype._update = function(self) {
|
||||
Processor.prototype._update = function() {
|
||||
|
||||
|
||||
requestAnimFrame(this._update.bind(this));
|
||||
|
||||
//console.log(self._physicsEngine.getWorld().GetBodyList().GetPosition());
|
||||
|
||||
self._physicsEngine.update();
|
||||
this._physicsEngine.update();
|
||||
|
||||
if(Settings.IS_BROWSER_ENVIRONMENT) {
|
||||
self._inputControlUnit.update();
|
||||
self._me.update();
|
||||
this._inputControlUnit.update();
|
||||
this._me.update();
|
||||
//self._camera.update();
|
||||
//self._repository.update();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,45 +1,46 @@
|
|||
define(function() {
|
||||
|
||||
var Settings = {
|
||||
STAGE_WIDTH : 600,
|
||||
STAGE_HEIGHT : 400,
|
||||
STAGE_WIDTH: 600,
|
||||
STAGE_HEIGHT: 400,
|
||||
|
||||
// BOX2D INITIALATORS
|
||||
RATIO : 30,
|
||||
BOX2D_WORLD_AABB_SIZE : 3000,
|
||||
BOX2D_ALLOW_SLEEP : true,
|
||||
BOX2D_GRAVITY : 16,
|
||||
BOX2D_VELOCITY_ITERATIONS : 5,
|
||||
BOX2D_POSITION_ITERATIONS : 5,
|
||||
BOX2D_TIME_STEP : 1 / 30,
|
||||
RATIO: 35,
|
||||
BOX2D_WORLD_AABB_SIZE: 3000,
|
||||
BOX2D_ALLOW_SLEEP: true,
|
||||
BOX2D_GRAVITY: 16,
|
||||
BOX2D_VELOCITY_ITERATIONS: 5,
|
||||
BOX2D_POSITION_ITERATIONS: 5,
|
||||
BOX2D_TIME_STEP: 1 / 60,
|
||||
|
||||
// GRAPHIC PATHS
|
||||
GRAPHICS_PATH : 'img',
|
||||
GRAPHICS_SUBPATH_ITEMS : 'Items',
|
||||
GRAPHICS_SUBPATH_CHARACTERS : 'Characters',
|
||||
GRAPHICS_PATH: 'img',
|
||||
GRAPHICS_SUBPATH_ITEMS: 'Items',
|
||||
GRAPHICS_SUBPATH_CHARACTERS: 'Characters',
|
||||
|
||||
TILE_SIZE : 15,
|
||||
TILE_SIZE: 15,
|
||||
|
||||
// GAME PLAY
|
||||
WALK_SPEED : 2.5,
|
||||
RUN_SPEED : 4.0,
|
||||
FLY_SPEED : 3.2,
|
||||
JUMP_SPEED : 3.0,
|
||||
WALK_SPEED: 2.5,
|
||||
RUN_SPEED: 4.0,
|
||||
FLY_SPEED: 3.2,
|
||||
JUMP_SPEED: 3.0,
|
||||
JUMP_UPLIFT: 0.05,
|
||||
|
||||
// restitution : bouncyness, friction : rubbing, density : mass
|
||||
TILE_FRICTION : 0.99,
|
||||
TILE_RESTITUTION : 0.1,
|
||||
// restitution: bouncyness, friction: rubbing, density: mass
|
||||
TILE_FRICTION: 0.99,
|
||||
TILE_RESTITUTION: 0.1,
|
||||
|
||||
PLAYER_DENSITY : 0.96,
|
||||
PLAYER_FRICTION : 5,
|
||||
PLAYER_MOTION_FRICTION : 0.1,
|
||||
PLAYER_RESTITUTION : 0.0,
|
||||
PLAYER_LINEAR_DAMPING : .5,
|
||||
PLAYER_DENSITY: 0.96,
|
||||
PLAYER_FRICTION: 5,
|
||||
PLAYER_MOTION_FRICTION: 0.1,
|
||||
PLAYER_RESTITUTION: 0.0,
|
||||
PLAYER_LINEAR_DAMPING: .5,
|
||||
|
||||
|
||||
ITEM_DENSITY : 0.9,
|
||||
ITEM_FRICTION : 0.99,
|
||||
ITEM_RESTITUTION : 0.02,
|
||||
ITEM_DENSITY: 0.9,
|
||||
ITEM_FRICTION: 0.99,
|
||||
ITEM_RESTITUTION: 0.02,
|
||||
|
||||
// debug draw
|
||||
DEBUG_DRAW_CANVAS_SPRITE: isBrowserEnvironment() ? document.getElementById("canvas").getContext("2d") : undefined,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue