我想实现等轴测视图。看图片。如何设置CCLayer CCCamera 属性可以做到这一点?Rotate 和 Scale 不能这样做,因为旋转和缩放是同时进行的。
问问题
327 次
1 回答
2
显然这对你来说太晚了,但对于任何通过谷歌搜索“cocos2d 等距变换旋转倾斜”或类似的东西来查看这个的人来说:我想出了正确的倾斜和旋转。由于缺乏对角线比例或 Z 旋转,需要使用两层方法。对于 javascript 开发人员:这会生成一个等距变换的 DrawNode。我不确定这会对性能产生什么影响,但由于它只使用本机功能,我认为它不会有太大影响。对于其他语言,移植应该是微不足道的。
var MapContainer = cc.Layer.extend({
ctor: function(){
this._super();
this.scaleX = .947;
this.setAnchorPoint({x:0, y:0});
this.drawNode = new MapDrawNode();
this.addChild(this.drawNode);
return true;
},
drawNode: null
});
var MapDrawNode = cc.DrawNode.extend({
ctor: function(){
this._super();
this.setAnchorPoint({x:0, y:0});
this.y = 360; // shifts everything up, adjust as needed. Mine is 1/2 window size
this.transform();
// Your init code here
return true;
},
transform: function(){
this.setScaleX(0.81649658);
this.setScaleY(0.81649658);
this.setSkewX(16.3);
this.setSkewY(16.3);
this.setRotationY(45);
this.setRotationX(45);
}
});
证明:检查 url 上的图像,因为我没有 10 个代表内联发布它。http://i.stack.imgur.com/T3uU8.png
于 2016-01-26T07:45:10.093 回答