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 | } |