Можно сделать несколькими объектами, но не знаю будет ли это лучшим решением (скорее наоборот).
Есть еще один вариант. Сейчас почитаю справку и расскажу. Добавлено (21.01.2011, 16:33)
---------------------------------------------
Оптимальный способ, думаю, такой:
Создаешь кучу спрайтов ("голый" игрок", куча разных "шапок", "штанов" и т.д.). Когда тебе нужно "одеть" игроку шапку выполняешь следующие действия:
Берешь поверхность, на нее рисуешь спрайт игрока, потом, сверху, спрайт шапки. Затем создаешь новый спрайт из этой поверъхности с помощью функции
Quote
sprite_create_from_surface(id,x,y,w,h,removeback,smooth,xorig,yorig) Создает спрайт, скопировав данную область с указанного сурфейса. removeback указывает, следует ли сделать все пиксели с цветом фона (левый нижний пиксель) прозрачным. smooth указывает на гладких границ. Эта функция дает возможность создавать любые спрайты, какие Вам потребуются. Нарисуйте изображение на сурфейс с помощью функций рисования и в дальнейшем создайте спрайт из него. Эта функция возвращает индекс нового спрайта. Обратите внимание, что значения альфа прозрачности тоже сохраняются в спрайт.
Ставишь этот спрайт игроку. То же самое можно делать с остальными вещами. Только не забывай удалять спрайты которые были созданы раньше (например одел игроку красную шапку, потом одеваешь синюю, а спрайт "игрок в красной шапке" удаляешь). Надеюсь принцип понятен.