30/09/2018, 16:49

[Cocos2d-x] Sprite Sheet Animation

[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 :

pastebin.com

http://pastebin.com/embed_iframe/k7T8Zxvk


Classes + spritesheet :
https://dl.dropboxusercontent.com/u/92227662/Classes%20%2B%20Spritesheet.zip

viết 19:03 ngày 30/09/2018

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.

Evil viết 18:52 ngày 30/09/2018

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 !

Bài liên quan
0