PDA

Ver la versión completa : balas en angulo.



zark
13/01/2006, 21:03
etoy haciendo un juego que tengo a un tio que lo muevo por la pantalla i puede rotar. tiene un scroll.... bueno la cuestion es que quiro que tire las balas en el mismo angulo que tiene el personaje.

///////////////////////////////////
Program murderroboto;
Global
Int robot;
Int arma;
Begin
set_title("Murder robot");
Graph_mode = mode_16bits;
set_mode (m320x240);
load_fpg("robot.fpg");
robot= robot();
start_scroll(0, 0, 2, 0, 0, 0);
scroll[0].camera=robot;

Loop
Frame;

If(key(_esc));
Break;
End


End
let_me_alone();

End






Process robot()

Begin
ctype=c_scroll;
graph=1;
x=160;
y=140;


Loop
Frame;
If(key(_left)) angle+=5000; End
If(key(_right)) angle-=5000; End
If(key(_up)) advance(5); End


End
End

/////////////

como hago que un processo llamado bala salga en el mismo angulo?


salu2!!

bleim
13/01/2006, 21:35
Pasale el valor de angle al crear el nuevo proceso como un parametro.
O bien usa una variable global para copiar alli el dato y nada mas crear la bala actualizas su angle a la de la variable.
O bien usa father.angle (angulo del proceso padre -> OJO: esto iba en el div original, en fenix creo que lo quitaron).

zark
14/01/2006, 04:33
ok gracias. eso de father creo que au esta, tenmgo un prollecte que lo utilitze i funciono. gracias. :D :D

Drumpi
14/01/2006, 09:19
Father, son, bigbro, etc siguen existiendo en Fenix.

zark
14/01/2006, 17:32
ok todo esto lo he echo el problema es que ahora cuendo muevo el robot (el processo que s emueve) al principio dispara bien pero cunt muvo el robot dispaar por donde le da la **** gana. etoy perdido no teng ni ide de porque hace esto.


gracias

si lo quereis probar aqui esta el codigo::

Program murderroboto;
Global
Int robot;

//municio
Int bales = 9999;
Int missils;
Int flames;
Int mines;


Begin
set_title("Murder robot");
Graph_mode = mode_16bits;
set_mode (m320x240);
load_fpg("robot.fpg");
robot= robot();
start_scroll(0, 0, 2, 0, 0, 0);
scroll[0].camera=robot;

Loop
Frame;

If(key(_esc));
Break;
End


End
let_me_alone();

End


Process robot()

Begin
ctype=c_scroll;
graph=1;
x=160;
y=140;


Loop
Frame;

//moviemnt
If(key(_left)) angle+=5000; End
If(key(_right)) angle-=5000; End
If(key(_up)) advance(5); End
If(key(_down)) advance(-2);End



//disparar

If(key(_control)AND (bales>0));
bala();
bala2();
End





End
End


Process bala()

Begin
graph=3;
x=father.x;
y=father.y;
angle=father.angle;
Loop
Frame;

advance(25);

End

End

Process bala2()

Begin
graph=3;
x=father.x;
y=father.y;
angle=father.angle;
Loop
Frame;

advance(25);


End

End





[wei]

bleim
14/01/2006, 17:51
Creo que el problema es que las balas tambien pertenecen al scroll y como lo tienes puesto pertenecen a la pantalla estática, no al scroll.Pue ser... o no!

chipan
14/01/2006, 18:05
Creo que el problema es que las balas tambien pertenecen al scroll y como lo tienes puesto pertenecen a la pantalla estática, no al scroll.Pue ser... o no!
Secundo la mocion, era uno de mis errores mas comunes en DIV 1

zark
14/01/2006, 18:15
i como lo soluciono?
bueno i si no e spossible hare un scroll manual. es decir que al pulsar las techas se mueve todo echepto el personaje del centro xD

Drumpi
14/01/2006, 22:59
Tan sencillo como escribir en los procesos bala y bala 2 la linea: ctype=c_scroll;
Es que se te ha olvidado por despiste, supongo. [wei4]

zark
15/01/2006, 03:02
haveces por unas chorradas... por eso no me gustaria ser programador de profesion!
xDDDDDDDD