📄 wheel.as
字号:
/**
* Paperskated3d - simple skateboard simulator in Papervision3d
*
* @author Bartek Drozdz
* @version 1.0
*
* Released under Creative Commons Attribution-Non-Commercial-Share Alike 3.0 License.
*/
package com.paperskate3d.skate {
import com.everydayflash.pv3d.modifiers.Bend;
import flash.display.Bitmap;
import flash.geom.Point;
import org.papervision3d.core.proto.MaterialObject3D;
import org.papervision3d.materials.BitmapMaterial;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.materials.WireframeMaterial;
import org.papervision3d.objects.DisplayObject3D;
public class Wheel extends DisplayObject3D {
[Embed(source = '../../../../assets/wheel.png')]
private var WheelFront:Class;
private var frontMaterial:BitmapMaterial;
[Embed(source='../../../../assets/wheel-side.png')]
private var WheelSide:Class;
private var sideMaterial:BitmapMaterial;
private var wheelFront:Plane;
private var wheelBack:Plane;
private var wheelSide:Plane;
private var rotSpeed:Number;
private var friction:Number = .97;
private var speedFactor:Number = 0.6;
public function Wheel() {
frontMaterial = new BitmapMaterial((new WheelFront() as Bitmap).bitmapData);
sideMaterial = new BitmapMaterial((new WheelSide() as Bitmap).bitmapData);
wheelFront = new Plane(frontMaterial, 30, 30, 1, 1);
wheelFront.rotationY = 90;
wheelFront.x = -8;
addChild(wheelFront);
wheelBack = new Plane(frontMaterial, 30, 30, 1, 1);
wheelBack.rotationY = -90;
wheelBack.x = 8;
addChild(wheelBack);
wheelSide = new Plane(sideMaterial, 16, 15 * Math.PI * 2, 1, 16);
wheelSide.z = -15;
var sideBend:Bend = new Bend(wheelSide);
sideBend.quickBend(-2, .5);
addChild(wheelSide);
}
public function move(speed:Number, situation:int):void {
if (speed == 0) {
return;
} else if (situation != 0) {
rotSpeed = speed * situation * speedFactor;
rotationX += rotSpeed;
} else {
rotSpeed *= friction;
rotationX += rotSpeed;
}
}
public function set hiquality(v:Boolean):void {
frontMaterial.smooth = v;
sideMaterial.smooth = v;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -