3
我有一個相當簡單的動畫與8個相同大小的圖像。我沒有使用內置的動畫方法,因爲我想手動控制動畫的速度。我正在使用預加載的SKTexture並執行[object setTexture:texture];更新內部:currentTime方法。SKSpriteNode拉伸時手動動畫紋理
問題是,有時紋理會變形/拉伸。經過大量調試之後,我將其縮小到僅在節點靜止時發生。事實上,如果我移動節點的像素,它搬回這樣,問題永遠不會發生:
[self setTexture:texture];
CGPoint currentPosition = self.position;
self.position = CGPointMake(currentPosition.x + 1, currentPosition.y + 1);
self.position = currentPosition;
這種感覺非常哈克我。我認爲,它觸發了父節點上的重繪。有沒有其他人經歷過這個?我有兩個主要問題。 1)原因是什麼?和2)我怎樣才能解決這個問題,而不訴諸黑客?
這是一個正常的框架和拉伸版本(我的質量,佔位藝術道歉......)
編輯:一些意見後,我意識到,我忘了提到我縮放了節點的尺寸比紋理的尺寸更小。即使紋理大小相同,將較小尺寸的節點應用於新紋理也會導致該錯誤。
其他人也有同樣的問題 - 這可能是SK的一個bug。也許這已經在ios 7.1 beta中修復了。 – LearnCocos2D
嘗試添加[self setSize:texture.size]; –
@DobroćudniTapir爲我工作。我更喜歡那個。我一直在縮放精靈,所以現在我每次應用紋理時都會重新縮放它。你想補充說,作爲答案,我可以接受它嗎? – nothappybob