SHOW:
|
|
- or go back to the newest paste.
| 1 | package {
| |
| 2 | import away3d.containers.ObjectContainer3D; | |
| 3 | import away3d.entities.Mesh; | |
| 4 | import away3d.materials.ColorMaterial; | |
| 5 | import away3d.materials.methods.EnvMapMethod; | |
| 6 | import away3d.materials.SkyBoxMaterial; | |
| 7 | import away3d.materials.TextureMaterial; | |
| 8 | import away3d.primitives.CubeGeometry; | |
| 9 | import away3d.primitives.PlaneGeometry; | |
| 10 | import away3d.primitives.TorusGeometry; | |
| 11 | import away3d.textures.BitmapCubeTexture; | |
| 12 | import away3d.textures.BitmapTexture; | |
| 13 | import away3d.utils.Cast; | |
| 14 | - | import com.in2ar.away3d.Away3DContainer; |
| 14 | + | |
| 15 | import flash.geom.ColorTransform; | |
| 16 | import flash.geom.Vector3D; | |
| 17 | ||
| 18 | ||
| 19 | ||
| 20 | ||
| 21 | public class Box extends ObjectContainer3D{
| |
| 22 | - | public class Box extends Away3DContainer {
|
| 22 | + | |
| 23 | ||
| 24 | public function Box() {
| |
| 25 | ||
| 26 | ||
| 27 | createPool() | |
| 28 | ||
| 29 | ||
| 30 | } | |
| 31 | ||
| 32 | private function createPool() {
| |
| 33 | var planeSize:Number=64; | |
| 34 | var poolHeight:Number = 64; | |
| 35 | var poolThickness:Number = 5; | |
| 36 | var poolVOffset:Number = 5 - poolHeight/2; | |
| 37 | var poolHOffset:Number = planeSize/2 + poolThickness/2; | |
| 38 | trace(planeSize); | |
| 39 | var liquidMaterial = new ColorMaterial(0xFFFF00); | |
| 40 | ||
| 41 | var tex:BitmapData = new BitmapData(512, 512, false, 0); | |
| 42 | tex.perlinNoise(25, 25, 8, 1, false, true, 7, true); | |
| 43 | tex.colorTransform(tex.rect, new ColorTransform(0.1, 0.1, 0.1, 1, 0, 0, 0, 0)); | |
| 44 | var poolMaterial = new TextureMaterial(new BitmapTexture(tex)); | |
| 45 | ||
| 46 | ||
| 47 | var plane:Mesh = new Mesh(new PlaneGeometry(planeSize, planeSize, 2,2), liquidMaterial); | |
| 48 | //plane.rotationX = 90; | |
| 49 | //plane.x = planeSize; | |
| 50 | //plane.z -= planeSize / 2; | |
| 51 | plane.y-= planeSize / 2; | |
| 52 | addChild(plane); | |
| 53 | ||
| 54 | var left:Mesh = new Mesh(new CubeGeometry(poolThickness, poolHeight, planeSize + poolThickness*2), poolMaterial); | |
| 55 | left.x = -poolHOffset; | |
| 56 | left.y = poolVOffset; | |
| 57 | addChild(left); | |
| 58 | ||
| 59 | var right:Mesh = new Mesh(new CubeGeometry(poolThickness, poolHeight, planeSize + poolThickness*2), poolMaterial); | |
| 60 | right.x = poolHOffset; | |
| 61 | right.y = poolVOffset; | |
| 62 | addChild(right); | |
| 63 | ||
| 64 | var back:Mesh = new Mesh(new CubeGeometry(planeSize, poolHeight, poolThickness), poolMaterial); | |
| 65 | back.z = poolHOffset; | |
| 66 | back.y = poolVOffset; | |
| 67 | addChild(back); | |
| 68 | ||
| 69 | var front:Mesh = new Mesh(new CubeGeometry(planeSize, poolHeight, poolThickness), poolMaterial); | |
| 70 | front.z = -poolHOffset; | |
| 71 | front.y = poolVOffset; | |
| 72 | addChild(front); | |
| 73 | ||
| 74 | } | |
| 75 | private function randomRange(minNum:Number, maxNum:Number):Number | |
| 76 | {
| |
| 77 | return (Math.floor(Math.random() * (maxNum - minNum + 1)) + minNum); | |
| 78 | } | |
| 79 | ||
| 80 | } | |
| 81 | ||
| 82 | } |