[Cocos2d-x]
Anh / chị cho em hỏi. Em đang tìm hiểu cocos2d-x nhưng gặp một vấn đề chỗ : từ sprite sheet tạo một hiệu ứng động
File plist em tạo từ TexturePacker ạ.
Code :
http://pastebin.com/embed_iframe.php?i=k7T8Zxvk
Classes + spritesheet :
https://dl.dropboxusercontent.com/u/92227662/Classes%20%2B%20Spritesheet.zip
Sprite Sheet Animation Cocos2d-x
1 Like
Cấu trúc file plist bị sai rồi. Có 1 tool cho em dùng là shoebox http://renderhjs.net/shoebox/ miễn phí lại dễ dùng. Nguyên tắc tạo sprite sheet là em có các ảnh nhỏ, đặt tên theo thứ tự như sprite_1, sprite_2, sprite_3 rồi ghép các ảnh đó vào 1 file. Hiện tại anh thấy file plist có đúng 1 cái ảnh to chứ ko có phân thành các sprite frame như em khai báo.
Cấu trúc 1 file plist tham khảo
<plist version="1.0">
<dict>
<key>frames</key>
<dict>
<key>001.png</key>
<dict>
<key>frame</key>
<string>{{929,581},{915,590}}</string>
<key>offset</key>
<string>{0,0}</string>
<key>rotated</key>
<false/>
<key>sourceColorRect</key>
<string>{{13,0},{915,590}}</string>
<key>sourceSize</key>
<string>{928,590}</string>
</dict>
<key>002.png</key>
<dict>
<key>frame</key>
<string>{{929,0},{928,580}}</string>
<key>offset</key>
<string>{0,0}</string>
<key>rotated</key>
<false/>
<key>sourceColorRect</key>
<string>{{0,0},{928,580}}</string>
<key>sourceSize</key>
<string>{928,590}</string>
</dict>
<key>003.png</key>
<dict>
<key>frame</key>
<string>{{0,1071},{928,565}}</string>
<key>offset</key>
<string>{0,0}</string>
<key>rotated</key>
<false/>
<key>sourceColorRect</key>
<string>{{0,0},{928,565}}</string>
<key>sourceSize</key>
<string>{928,590}</string>
</dict>
<key>004.png</key>
<dict>
<key>frame</key>
<string>{{0,527},{928,543}}</string>
<key>offset</key>
<string>{0,0}</string>
<key>rotated</key>
<false/>
<key>sourceColorRect</key>
<string>{{0,0},{928,543}}</string>
<key>sourceSize</key>
<string>{928,590}</string>
</dict>
<key>005.png</key>
<dict>
<key>frame</key>
<string>{{0,0},{928,526}}</string>
<key>offset</key>
<string>{0,0}</string>
<key>rotated</key>
<false/>
<key>sourceColorRect</key>
<string>{{0,0},{928,526}}</string>
<key>sourceSize</key>
<string>{928,590}</string>
</dict>
<key>006.png</key>
<dict>
<key>frame</key>
<string>{{0,527},{928,543}}</string>
<key>offset</key>
<string>{0,0}</string>
<key>rotated</key>
<false/>
<key>sourceColorRect</key>
<string>{{0,0},{928,543}}</string>
<key>sourceSize</key>
<string>{928,590}</string>
</dict>
<key>007.png</key>
<dict>
<key>frame</key>
<string>{{0,1071},{928,565}}</string>
<key>offset</key>
<string>{0,0}</string>
<key>rotated</key>
<false/>
<key>sourceColorRect</key>
<string>{{0,0},{928,565}}</string>
<key>sourceSize</key>
<string>{928,590}</string>
</dict>
<key>008.png</key>
<dict>
<key>frame</key>
<string>{{929,0},{928,580}}</string>
<key>offset</key>
<string>{0,0}</string>
<key>rotated</key>
<false/>
<key>sourceColorRect</key>
<string>{{0,0},{928,580}}</string>
<key>sourceSize</key>
<string>{928,590}</string>
</dict>
</dict>
<key>metadata</key>
<dict>
<key>format</key>
<integer>2</integer>
<key>size</key>
<string>{2048,2048}</string>
<key>textureFileName</key>
<string>bird.png</string>
</dict>
</dict>
</plist>
Key 001, 002, … là tên file ảnh.
2 Likes
Cám ơn anh rất nhiều ạ.
Không nhờ a chỉ bảo không biết sai chỗ nào.
Tks you so much much ! 
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?