forked from: sea
...
@author sliz http://game-develop.net/blog
♥0 |
Line 50 |
Modified 2011-07-30 07:57:22 |
MIT License
archived:2017-03-30 22:09:29
ActionScript3 source code
/**
* Copyright bradsedito ( http://wonderfl.net/user/bradsedito )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/ujP2
*/
// forked from lizhi's sea
package {
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.events.Event;
import flash.geom.Point;
import org.papervision3d.core.geom.renderables.*;
import org.papervision3d.materials.*;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.view.*;
import org.papervision3d.view.stats.StatsView;
/**
* ...
* @author sliz http://game-develop.net/blog
*/
[SWF(backgroundColor=0)]
public class V extends BasicView {
//private var p:Plane;
private var p:Sphere;
private var m:WireframeMaterial = new WireframeMaterial(0xffffff, .6);
private var moma:MovieMaterial = new MovieMaterial();
private var cMat:ColorMaterial = new ColorMaterial(0xff9900);
private var bmd:BitmapData = new BitmapData(21, 21, false);
private var p2:Point = new Point();
private var addp:Point = new Point(0, 1);
private var rseed:int = int(100 * Math.random());
public function V(){
//p = new Plane(m, 3000, 3000, 20, 20);
//p.rotationZ += 1;
// p.rotationX += 1;
p = new Sphere(m, 500, 25, 50);//cMat, 1000, 20, 50);
scene.addChild(p);
startRendering();
addEventListener(Event.ENTER_FRAME, update);
// camera.y -= 2000;
camera.z = 1000;
var view:StatsView = new StatsView(renderer);
addChild(view);
//view.x = 600;
addChild(new Bitmap(bmd));
}
private function update(e:Event):void
{
p.rotationY += 2;
p.y = stage.stageWidth/2;
p2 = p2.add(addp);
bmd.perlinNoise(100, 100, 2, rseed, true, true, 6, true, [p2]);
var vs:Array = p.geometry.vertices;
var cs:Array = [];
for (var i:int = 0; i < bmd.width; i++){
for (var j:int = 0; j < bmd.height; j++){
cs.push(bmd.getPixel(i, j));
}
}
for (i = 0; i < vs.length; i++){
var v:Vertex3D = vs[i];
v.z = 900 * cs[i] / 0xffffff - 450;
}
}
}
}