1

等角図を実装したい。画像を参照してください。CCLayer CCCamera プロパティを設定するにはどうすればよいですか? 回転と拡大縮小は同時に行うため、回転と拡大縮小はできません。 等尺性

4

1 に答える 1

2

明らかに、これを使用するには遅すぎますが、「cocos2d アイソメトリック変換回転スキュー」またはそのようなものをグーグルで検索してこれを見ている人にとっては、正しいスキューと回転を見つけました. 対角スケールまたは Z 回転がないため、2 層アプローチが必要でした。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);
  }
});

証拠: インラインで投稿する担当者が 10 人もいないので、URL の画像を確認してください。http://i.stack.imgur.com/T3uU8.png

于 2016-01-26T07:45:10.093 に答える