Hi there. You could do something with vertexdata...take a look here:
http://forum.thegamecreators.com/?m=forum_view&t=181531&b=1
This is an example of animating vertex.
ink rgb(100,70,10),0
box 0,0,100,100
ink rgb(55,10,0),0
box 0,58,100,100
get image 1,0,0,100,100,1
ink rgb(255,255,0),0
box 0,0,100,100
ink rgb(0,255,0),0
box 0,45,100,55
get image 2,0,0,100,100,1
autocam off
sync on
make light 1:position light 1,50,0,0
`objeto referencia 0,0,0
make object sphere 100,2
hide object 100
color object 100,rgb(255,0,0)
make mesh from object 1,100
`hueso
make object box 1,1,1,20
offset limb 1,0,0,0,10
add limb 1,1,1
offset limb 1,1,0,0,20
`segundo hueso
clone object 2,1
`rueda
rem make object box 3,1,15,15
make object sphere 3,15
scale object 3,2,100,100:offset limb 3,0,-115,0,0
position object 3,-3,-20,20
make object box 4,4,1,1:offset limb 4,0,-1.5,0,0
make mesh from object 1,4:delete object 4
add limb 3,1,1:offset limb 3,1,3,0,6
texture object 3,2
color limb 3,1,rgb(0,0,100)
`malla principal que sera animada con vertexdata
make object sphere 10,8,7,10
texture object 10,1
make mesh from object 1,10
clone object 11,10:position object 11,15,0,-20
set object wireframe 11,1
yrotate object 11,25
color object 11,rgb(255,255,255)
make object box 200,200,0,1000
texture object 200,1:scale object texture 200,1,30
position object 200,0,-30,0
hide object 1
hide object 2
position camera 70,5,20
point camera 0,0,0
ani=100
do
if upkey() then sc#=-0.003
if downkey() then sc#=0.003
if scancode()=0 then sc#=0
scroll object texture 200,0,sc#
set cursor 0,0
print "UPKEY/DOWNKEY"
`posicionamos el objeto 2 en el pedal(limb 1 del objeto 3)
position object 2,limb position x(3,1),limb position y(3,1),limb position z(3,1)
`apuntamos el objeto uno hacia el limb del objeto 2 y al objeto dos hacia el limb del objeto uno.
point object 2,limb position x(1,1),limb position y(1,1),limb position z(1,1)
point object 1,limb position x(2,1),limb position y(2,1),limb position z(2,1)
if upkey() then g#=g#+1
if downkey() then g#=g#-1
xrotate object 3,g#/2
`ANIMACION ---------------------------------------------------------------------------------------------------------------------------
change mesh 10,0,1
lock vertexdata for limb 10,0
vertex = get vertexdata vertex count()
for i =0 to vertex
x# = get vertexdata position x(i)
y# = get vertexdata position y(i)
z# = get vertexdata position z(i)
`primero movemos el centro
if y#>0 then set vertexdata position i,x#*0.5+limb position x(1,1),y#+limb position y(1,1),z#*0.5+limb position z(1,1) `rodilla
`luego fijamos las puntas arriba y abajo
if y#>3 then set vertexdata position i,x#*2.1+object position x(1),y#+z#+object position y(1)+10,5+z#*2.5+object position z(1) `parte alta de la pierna
`finalmente ajustamos el tobillo y suela
if y#<-0 then set vertexdata position i,-1+x#*0.3+object position x(2),object position y(2)+3,z#*0.4+object position z(2) `tobillo
if y#<-2.4 then set vertexdata position i,-1+x#*0.5+object position x(2),-3+object position y(2)+3,2+z#*1.2+object position z(2) `zapato
next i
unlock vertexdata
`--------------------------------------------------------------------------------------------------------------------------------------
make mesh from object ani,10
`Animamos al objeto 11 con la malla ani
change mesh 11,0,ani
if controlkey()
get image 1,0,0,640,480,1
set camera view 0,0,0,0
paste image 1,0,0
lock pixels
for i= 0 to image width(1)
for a= 0 to image height(1)
cal=RGBR(point(i,a))
col=RGBG(point(i,a))
cul=RGBB(point(i,a))
gray=0.299*cal+0.587*col + 0.114*cul
ink rgb(gray,gray,gray),0
dot i,a
next a
next i
endif
unlock pixels
sync
loop
Cheers.
I'm not a grumpy grandpa
