Показать сообщение отдельно
Старый 31.03.2010, 18:38   #5
cheaters-hater
Оператор ЭВМ
 
Регистрация: 09.10.2007
Сообщений: 45
Написано 8 полезных сообщений
(для 16 пользователей)
Ответ: что-то страшное и непонятное

тоже вариант. но только если вся картинка должна резатся. можно конечно еще ввести параметр, сколько фреймов с конца выкинуть, но суть остается та же.

можно еще сделать так (быстрее ~в 2.5 раза):

Function LoadTiledImage:TImage(url:Object, tile_w:Int, tile_h:Int)
Local pixa:TPixmap
// такой же код проверки сидит и в LoadImage и LoadAnimImage :-)
    If TPixmap(url) Then
         pixa = url
    Else
        pixa = LoadPixmap(url)
    endif


     If pixa = Null
        RuntimeError("<ERROR> Image '" + url.ToString() + "'")
        End
    EndIf
    
    Local iw:Int = PixmapWidth(pixa)
    Local ih:Int = PixmapHeight(pixa)
    Local c:Int = (iw / tile_w) * (ih / tile_h)
    Return LoadAnimImage(pixa, tile_w, tile_h, 0, c)
EndFunction

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Randomize (31.03.2010)