Quote (MadMax)
как можно сделать спрайтами платформер? как прикрутить физику? можете скинуть исходники/уроки?
Напишу пока словами. Первое - делается изометрическая камера (нажать Orthografic), изменяя Lens можно приблизить/отдалить. ГГ куб, ходит вперёд/назад, и у него постоянно "играют" два ключа Loc (ближе/дальше от камеры), и Rot Z, это делается для того, чтобы ГГ ходил ровно по плоскости. К кубу ГГ крепится плоскость, которая отображает ГГ и его анимацию, и при движении в другую сторону ключами меняет Scale наоборот (для разворота ГГ). Кадры анимации прорабатываются где угодно, и номер кадра отправляется в код, например такой:
Code
import GameLogic
cont = GameLogic.getCurrentController()
s = cont.owner
c = GameLogic.getCurrentController()
def changeTexture(c):
import VideoTexture
matID = VideoTexture.materialID(s, "MAmat")
texture = VideoTexture.Texture(s, matID, 0)
image = GameLogic.expandPath("///textures/"+str(c)+".png")
if not s.has_key("tex"+str(c)):
s["tex"+str(c)] = VideoTexture.ImageFFmpeg(image)
texture.source = s["tex"+str(c)]
s["Texture"] = texture
s["Texture"].refresh(False)
if s.pose==1: s["Frame"] = "stay"
if s.pose==2: s["Frame"] = "strike01"
if s.pose==3: s["Frame"] = "strike02"
if s.pose==4: s["Frame"] = "strike03"
if s.pose==5: s["Frame"] = "strike04"
if s.pose==6: s["Frame"] = "strike05"
if s.pose==7: s["Frame"] = "strike06"
if s.pose==9: s["Frame"] = "run01"
if s.pose==10: s["Frame"] = "run02"
if s.pose==11: s["Frame"] = "run03"
if s.pose==12: s["Frame"] = "run04"
if s.pose==13: s["Frame"] = "run05"
if s.pose==15: s["Frame"] = "jump01"
if s.pose==16: s["Frame"] = "jump02"
if s.pose==17: s["Frame"] = "jump03"
if s.pose==18: s["Frame"] = "jump04"
if s.pose==19: s["Frame"] = "jump05"
if s.pose==20: s["Frame"] = "jump06"
if s.pose==22: s["Frame"] = "oops"
if s.pose==24: s["Frame"] = "paint01"
if s.pose==25: s["Frame"] = "paint02"
if s.pose==26: s["Frame"] = "paint03"
if s.pose==27: s["Frame"] = "paint04"
if s.pose==28: s["Frame"] = "paint05"
if s.pose==29: s["Frame"] = "paint06"
if s.pose==30: s["Frame"] = "paint07"
if s.pose==31: s["Frame"] = "paint08"
if s.pose==32: s["Frame"] = "paint09"
if s.pose==33: s["Frame"] = "paint10"
if s.pose==34: s["Frame"] = "paint11"
if s.pose==35: s["Frame"] = "paint12"
if s.pose==36: s["Frame"] = "paint13"
if s.pose==37: s["Frame"] = "paint14"
if s.pose==38: s["Frame"] = "paint15"
if s.pose==39: s["Frame"] = "paint16"
if s.pose==40: s["Frame"] = "paint17"
if s.pose==41: s["Frame"] = "paint18"
if s.pose==42: s["Frame"] = "paint19"
if s.pose==43: s["Frame"] = "paint20"
if s.pose==44: s["Frame"] = "paint21"
changeTexture(s["Frame"])
Добавлено (18.06.2012, 16:28)
---------------------------------------------
MadMax,
Хотел же сделать позже нормальный пример, но.. видать, терпения у тебя нет, держи
Тут тебе и игра на двоих даже)
И ты, конечно же, понимаешь, что ГГ тебе придётся нарисовать своего
Самое главное не написал... ЭТО ДЛЯ 2.49!!!