Autor Tema: ¿Por qué no trabaja esta escritura en PS2?  (Leído 1401 veces)

Joypad

  • Newbie
  • *
  • Mensajes: 15
  • Karma: 0
¿Por qué no trabaja esta escritura en PS2?
« en: Octubre 17, 2013, 03:12:12 pm »
Esta escritura simple funciona correctamente en el Windows y Linux. Esto muestra una flecha que se mueve a través de la pantalla.

Esto no funciona correctamente en el PS2. La flecha permanece estática y no se mueve. ¿Por qué?


English:
Why does this script not work on the PS2?

This simple script functions correctly on Windows and Linux. It shows an arrow moving across the screen.

It does not function properly on the PS2. The arrow remains static and does not move. Why?

Código: [Seleccionar]
// On PC, it shows arrow moving across the screen
// On PS2, the arrow does not move. Why?

import "mod_text";
import "mod_grproc";
import "mod_video";
import "mod_map";
import "mod_screen";
import "mod_timers";
import "mod_sys";
import "mod_proc";
import "mod_key";
import "mod_draw";
IMPORT "mod_joy";
IMPORT "mod_time";

global
int myarrow;
end

process main()
begin
set_mode(320,240,32);

    myarrow = load_png("arrow.png");
dpadarrow(100,100);

repeat

frame;
until ( key(_esc) )

let_me_alone();


end

PROCESS dpadarrow(int x, int y)
begin
graph = myarrow;

loop

if ( x < 320 ) x = x + 2; end
if ( x > 319 ) x = 0; end

frame;
end //loop
end

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5628
  • Karma: 127
    • GECA soft
Re:¿Por qué no trabaja esta escritura en PS2?
« Respuesta #1 en: Octubre 17, 2013, 09:02:33 pm »
until ( key(_esc) )
 
Ps2 is a console, don't have leyboard, you must replace _esc with a joypad button mapper

Joypad

  • Newbie
  • *
  • Mensajes: 15
  • Karma: 0
Re:¿Por qué no trabaja esta escritura en PS2?
« Respuesta #2 en: Octubre 19, 2013, 07:35:29 pm »
until ( key(_esc) )
 
Ps2 is a console, don't have leyboard, you must replace _esc with a joypad button mapper

I took the key( _esc) out but that didn't fix it. The Playstation 2 supports USB keyboard and mouse so it's OK to use key(_esc)

After a lot of experimenting, I discovered the problem turned out to be caused by not using set_mode flags. Setting certain flags fixed it from freezing. eg

Código: [Seleccionar]
//This will work on PC but freeze on PS2:
set_mode(320,240,32);

//Setting these mode flags will cure the freezing problem on PS2:
set_mode(320,240,32, MODE_DOUBLEBUFFER | MODE_HARDWARE | DOUBLE_BUFFER | HW_SURFACE | MODE_WAITVSYNC);