Merge branch 'dev'
This commit is contained in:
commit
e0dc3158c1
7 changed files with 282 additions and 1 deletions
BIN
examples/example 16 - BlendModes/BGrotate.jpg
Normal file
BIN
examples/example 16 - BlendModes/BGrotate.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 70 KiB |
BIN
examples/example 16 - BlendModes/flowerTop.png
Normal file
BIN
examples/example 16 - BlendModes/flowerTop.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 35 KiB |
140
examples/example 16 - BlendModes/index.html
Normal file
140
examples/example 16 - BlendModes/index.html
Normal file
|
@ -0,0 +1,140 @@
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
|
||||||
|
<title>Pixi.js Blendmodes</title>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
background-color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rendererView {
|
||||||
|
position: absolute;
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<script src="pixi.js"></script>
|
||||||
|
<script src="../../bin/pixi.js"></script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
var viewWidth = 630;
|
||||||
|
var viewHeight = 410;
|
||||||
|
|
||||||
|
// Create a pixi renderer
|
||||||
|
var renderer = PIXI.autoDetectRenderer(viewWidth, viewHeight);
|
||||||
|
renderer.view.className = "rendererView";
|
||||||
|
|
||||||
|
// add render view to DOM
|
||||||
|
document.body.appendChild(renderer.view);
|
||||||
|
|
||||||
|
// create an new instance of a pixi stage
|
||||||
|
var stage = new PIXI.Stage(0xFFFFFF);
|
||||||
|
|
||||||
|
// create a background texture
|
||||||
|
var pondFloorTexture = PIXI.Texture.fromImage("BGrotate.jpg");
|
||||||
|
// create a new background sprite
|
||||||
|
var pondFloorSprite = new PIXI.Sprite(pondFloorTexture);
|
||||||
|
stage.addChild(pondFloorSprite);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// create an array to store a refference to the dude in the pond
|
||||||
|
var dudeArray = [];
|
||||||
|
|
||||||
|
var totaldude = 20;
|
||||||
|
|
||||||
|
for (var i = 0; i < totaldude; i++)
|
||||||
|
{
|
||||||
|
|
||||||
|
// create a new Sprite that uses the image name that we just generated as its source
|
||||||
|
var dude = PIXI.Sprite.fromImage("flowerTop.png");
|
||||||
|
|
||||||
|
// set the anchor point so the the dude texture is centerd on the sprite
|
||||||
|
dude.anchor.x = dude.anchor.y = 0.5;
|
||||||
|
|
||||||
|
// set a random scale for the dude - no point them all being the same size!
|
||||||
|
dude.scale.x = dude.scale.y = 0.8 + Math.random() * 0.3;
|
||||||
|
|
||||||
|
// finally lets set the dude to be a random position..
|
||||||
|
dude.position.x = Math.random() * viewWidth;
|
||||||
|
dude.position.y = Math.random() * viewHeight;
|
||||||
|
|
||||||
|
// time to add the dude to the pond container!
|
||||||
|
stage.addChild(dude);
|
||||||
|
|
||||||
|
// create some extra properties that will control movment
|
||||||
|
|
||||||
|
dude.blendMode = PIXI.blendModes.ADD
|
||||||
|
// create a random direction in radians. This is a number between 0 and PI*2 which is the equivalent of 0 - 360 degrees
|
||||||
|
dude.direction = Math.random() * Math.PI * 2;
|
||||||
|
|
||||||
|
// this number will be used to modify the direction of the dude over time
|
||||||
|
dude.turningSpeed = Math.random() - 0.8;
|
||||||
|
|
||||||
|
// create a random speed for the dude between 0 - 2
|
||||||
|
dude.speed = 2 + Math.random() * 2;
|
||||||
|
|
||||||
|
// finally we push the dude into the dudeArray so it it can be easily accessed later
|
||||||
|
dudeArray.push(dude);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// create a bounding box box for the little dudes
|
||||||
|
var dudeBoundsPadding = 100;
|
||||||
|
var dudeBounds = new PIXI.Rectangle(-dudeBoundsPadding,
|
||||||
|
-dudeBoundsPadding,
|
||||||
|
viewWidth + dudeBoundsPadding * 2,
|
||||||
|
viewHeight + dudeBoundsPadding * 2);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// create a displacment map
|
||||||
|
|
||||||
|
|
||||||
|
var tick = 0;
|
||||||
|
requestAnimationFrame(animate);
|
||||||
|
|
||||||
|
function animate()
|
||||||
|
{
|
||||||
|
// iterate through the dude and update the positiond
|
||||||
|
for (var i = 0; i < dudeArray.length; i++)
|
||||||
|
{
|
||||||
|
var dude = dudeArray[i];
|
||||||
|
dude.direction += dude.turningSpeed * 0.01;
|
||||||
|
dude.position.x += Math.sin(dude.direction) * dude.speed;
|
||||||
|
dude.position.y += Math.cos(dude.direction) * dude.speed;
|
||||||
|
dude.rotation = -dude.direction - Math.PI/2;
|
||||||
|
|
||||||
|
// wrap the dudes by testing there bounds..
|
||||||
|
if(dude.position.x < dudeBounds.x)dude.position.x += dudeBounds.width;
|
||||||
|
else if(dude.position.x > dudeBounds.x + dudeBounds.width)dude.position.x -= dudeBounds.width
|
||||||
|
|
||||||
|
if(dude.position.y < dudeBounds.y)dude.position.y += dudeBounds.height;
|
||||||
|
else if(dude.position.y > dudeBounds.y + dudeBounds.height)dude.position.y -= dudeBounds.height
|
||||||
|
}
|
||||||
|
|
||||||
|
// increment the ticker
|
||||||
|
tick += 0.1;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// time to render the state!
|
||||||
|
renderer.render(stage);
|
||||||
|
|
||||||
|
// request another animation frame..
|
||||||
|
requestAnimationFrame( animate );
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
BIN
examples/example 17 - Tinting/BGrotate.jpg
Normal file
BIN
examples/example 17 - Tinting/BGrotate.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 70 KiB |
BIN
examples/example 17 - Tinting/eggHead.png
Normal file
BIN
examples/example 17 - Tinting/eggHead.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 35 KiB |
141
examples/example 17 - Tinting/index.html
Normal file
141
examples/example 17 - Tinting/index.html
Normal file
|
@ -0,0 +1,141 @@
|
||||||
|
<!DOCTYPE HTML>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
|
||||||
|
<title>Tinting</title>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
background-color: #000000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.rendererView {
|
||||||
|
position: absolute;
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<script src="pixi.js"></script>
|
||||||
|
<script src="../../bin/pixi.js"></script>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
var viewWidth = 630;
|
||||||
|
var viewHeight = 410;
|
||||||
|
|
||||||
|
// Create a pixi renderer
|
||||||
|
var renderer = PIXI.autoDetectRenderer(viewWidth, viewHeight);
|
||||||
|
renderer.view.className = "rendererView";
|
||||||
|
|
||||||
|
// add render view to DOM
|
||||||
|
document.body.appendChild(renderer.view);
|
||||||
|
|
||||||
|
// create an new instance of a pixi stage
|
||||||
|
var stage = new PIXI.Stage(0xFFFFFF);
|
||||||
|
|
||||||
|
// create a background texture
|
||||||
|
var pondFloorTexture = PIXI.Texture.fromImage("BGrotate.jpg");
|
||||||
|
// create a new background sprite
|
||||||
|
// var pondFloorSprite = new PIXI.Sprite(pondFloorTexture);
|
||||||
|
//stage.addChild(pondFloorSprite);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// create an array to store a refference to the fish in the pond
|
||||||
|
var dudeArray = [];
|
||||||
|
|
||||||
|
var totalDude = 20;
|
||||||
|
|
||||||
|
for (var i = 0; i < totalDude; i++)
|
||||||
|
{
|
||||||
|
|
||||||
|
// create a new Sprite that uses the image name that we just generated as its source
|
||||||
|
var dude = PIXI.Sprite.fromImage("eggHead.png");
|
||||||
|
|
||||||
|
// set the anchor point so the the dude texture is centerd on the sprite
|
||||||
|
dude.anchor.x = dude.anchor.y = 0.5;
|
||||||
|
|
||||||
|
// set a random scale for the dude - no point them all being the same size!
|
||||||
|
dude.scale.x = dude.scale.y = 0.8 + Math.random() * 0.3;
|
||||||
|
|
||||||
|
// finally lets set the dude to be a random position..
|
||||||
|
dude.position.x = Math.random() * viewWidth;
|
||||||
|
dude.position.y = Math.random() * viewHeight;
|
||||||
|
|
||||||
|
// time to add the dude to the pond container!
|
||||||
|
stage.addChild(dude);
|
||||||
|
|
||||||
|
// create some extra properties that will control movment
|
||||||
|
|
||||||
|
dude.tint = Math.random() * 0xFFFFFF;
|
||||||
|
|
||||||
|
// create a random direction in radians. This is a number between 0 and PI*2 which is the equivalent of 0 - 360 degrees
|
||||||
|
dude.direction = Math.random() * Math.PI * 2;
|
||||||
|
|
||||||
|
// this number will be used to modify the direction of the dude over time
|
||||||
|
dude.turningSpeed = Math.random() - 0.8;
|
||||||
|
|
||||||
|
// create a random speed for the dude between 0 - 2
|
||||||
|
dude.speed = 2 + Math.random() * 2;
|
||||||
|
|
||||||
|
// finally we push the dude into the dudeArray so it it can be easily accessed later
|
||||||
|
dudeArray.push(dude);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// create a bounding box box for the little dudes
|
||||||
|
var dudeBoundsPadding = 100;
|
||||||
|
var dudeBounds = new PIXI.Rectangle(-dudeBoundsPadding,
|
||||||
|
-dudeBoundsPadding,
|
||||||
|
viewWidth + dudeBoundsPadding * 2,
|
||||||
|
viewHeight + dudeBoundsPadding * 2);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// create a displacment map
|
||||||
|
|
||||||
|
|
||||||
|
var tick = 0;
|
||||||
|
requestAnimationFrame(animate);
|
||||||
|
|
||||||
|
function animate()
|
||||||
|
{
|
||||||
|
// iterate through the dude and update the positiond
|
||||||
|
for (var i = 0; i < dudeArray.length; i++)
|
||||||
|
{
|
||||||
|
var dude = dudeArray[i];
|
||||||
|
dude.direction += dude.turningSpeed * 0.01;
|
||||||
|
dude.position.x += Math.sin(dude.direction) * dude.speed;
|
||||||
|
dude.position.y += Math.cos(dude.direction) * dude.speed;
|
||||||
|
dude.rotation = -dude.direction - Math.PI/2;
|
||||||
|
|
||||||
|
// wrap the dudes by testing there bounds..
|
||||||
|
if(dude.position.x < dudeBounds.x)dude.position.x += dudeBounds.width;
|
||||||
|
else if(dude.position.x > dudeBounds.x + dudeBounds.width)dude.position.x -= dudeBounds.width
|
||||||
|
|
||||||
|
if(dude.position.y < dudeBounds.y)dude.position.y += dudeBounds.height;
|
||||||
|
else if(dude.position.y > dudeBounds.y + dudeBounds.height)dude.position.y -= dudeBounds.height
|
||||||
|
}
|
||||||
|
|
||||||
|
// increment the ticker
|
||||||
|
tick += 0.1;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// time to render the state!
|
||||||
|
renderer.render(stage);
|
||||||
|
|
||||||
|
// request another animation frame..
|
||||||
|
requestAnimationFrame( animate );
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -59,7 +59,7 @@
|
||||||
|
|
||||||
// create an alien using the frame name..
|
// create an alien using the frame name..
|
||||||
var alien = PIXI.Sprite.fromFrame(frameName);
|
var alien = PIXI.Sprite.fromFrame(frameName);
|
||||||
alien.tint = 0xFF0000;
|
alien.tint = Math.random() * 0xFFFFFF//0xFF0000;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* fun fact for the day :)
|
* fun fact for the day :)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue