9RIA-沐枫 发表于 2018-2-6 20:32:44

【9RIA—沐枫】—【基础小知识】第16节(矩阵——伪3D效果)

转载:9RIA游戏开发者社区(天地会)
作者:沐枫(原天地会大神)


【基础小知识】系列教程(总目录)——沐枫大神出品



{
import flash.display.Sprite;
import flash.events.Event;
import flash.geom.Matrix;

public class MatrixRotate extends Sprite
{
private var angle:Number = 0;
private var box:Sprite;

public function MatrixRotate()
{
box = new Sprite();
box.graphics.beginFill(0xff0000);
box.graphics.drawRect(-50, -50, 100, 100);
box.graphics.endFill();
addChild(box);
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}

private function onEnterFrame(event:Event):void
{
angle += .05;
var cos:Number = Math.cos(angle);
var sin:Number = Math.sin(angle);
// box.transform.matrix = new Matrix(cos, sin,-sin, cos,stage.stageWidth / 2,stage.stageHeight / 2);//旋转
var skewX:Number = (mouseX - stage.stageWidth / 2) * .01;
var skewY:Number = (mouseY - stage.stageHeight / 2) * .01;
box.transform.matrix = new Matrix(1, skewY,skewX, 1,stage.stageWidth / 2,stage.stageHeight / 2);//倾斜
}
}
}

TKCB:此处展示的SWF找不到

前两天研究了3D 虽然做出来算法了,但是却得知已经过时了,好吧咱还是用矩阵实现伪3D效果吧
记得改变矩阵内的参数,说不定会有新发现啊

源文件就不需要了,就这几行代码
终于更新啦,大家捧场啊

页: [1]
查看完整版本: 【9RIA—沐枫】—【基础小知识】第16节(矩阵——伪3D效果)

感谢所有支持论坛的朋友:下面展示最新的5位赞助和充值的朋友……更多赞助和充值朋友的信息,请查看:永远的感谢名单

SGlW(66139)、 anghuo(841)、 whdsyes(255)、 longxia(60904)、 囫囵吞澡(58054)

下面展示总排行榜的前3名(T1-T3)和今年排行榜的前3名的朋友(C1-C3)……更多信息,请查看:总排行榜今年排行榜

T1. fhqu1462(969)、 T2. lwlpluto(14232)、 T3. 1367926921(962)  |  C1. anghuo(147)、 C2. fdisker(27945)、 C3. 囫囵吞澡(58054)