Difference between revisions of "AGIWiki/shake.screen"

From ScummVM :: Wiki
Jump to navigation Jump to search
m
m (Text replacement - "<source lang=" to "<syntaxhighlight lang=")
 
(3 intermediate revisions by 2 users not shown)
Line 15: Line 15:
'''Do not''' use a value of '''0''', as this causes the screen to shake indefinitely, and never returns control back to the interpreter.  
'''Do not''' use a value of '''0''', as this causes the screen to shake indefinitely, and never returns control back to the interpreter.  


== AGIPAL ==
=== AGIPAL ===


'''Note:''' although shaking the screen 100 or more times is not recommended (because the screen will shake for a long time), it should be noted that the <code>shake.screen</code> command is altered if you are using [[AGIWiki/AGIPAL|AGIPAL]] so that any value between 100 and 109 changes the game's palette instead of shaking the screen.
'''Note:''' although shaking the screen 100 or more times is not recommended (because the screen will shake for a long time), it should be noted that the <code>shake.screen</code> command is altered if you are using [[AGIWiki/AGIPAL|AGIPAL]] so that any value between 100 and 109 changes the game's palette instead of shaking the screen.
Line 32: Line 32:
The following code will shake the screen five times whenever the player enters this room:
The following code will shake the screen five times whenever the player enters this room:


<syntax type = "C++">
<syntaxhighlight lang="cpp">
   #include "defines.txt"
   #include "defines.txt"


Line 46: Line 46:
       shake.screen(5);
       shake.screen(5);
   }
   }
</syntax>
</syntaxhighlight>


== Technical Information ==
== Technical Information ==

Latest revision as of 15:05, 25 October 2018


AGIWiki


The shake.screen command shakes the screen a specified number of times.

Syntax

shake.screen(byt shakeCount);

Remarks

The screen is shaken shakeCount times. The screen is "shaken" by moving the entire screen image around on the monitor to give a violent tremor effect.

Do not use a value of 0, as this causes the screen to shake indefinitely, and never returns control back to the interpreter.

AGIPAL

Note: although shaking the screen 100 or more times is not recommended (because the screen will shake for a long time), it should be noted that the shake.screen command is altered if you are using AGIPAL so that any value between 100 and 109 changes the game's palette instead of shaking the screen.

Parameters

  • shakeCount: a number, 0-255, specifying how many times to shake the screen

Possible errors

  • Some interpreters, such as NAGI, do not support the shake.screen command and will do nothing if the command is issue. It is safe to issue the command on these interpreters, but it will be ignored.
  • Specifying a value of 0 for shakeCount appears to make the screen shake forever.

Examples

The following code will shake the screen five times whenever the player enters this room:

  #include "defines.txt"

  if (new_room)
  {
      load.pic(room_no);
      draw.pic(room_no);
      discard.pic(room_no);

      draw(ego);
      show.pic();

      shake.screen(5);
  }

Technical Information

Required interpreter version Available in all AGI versions
Bytecode value 110 (0x6E hex)

See also

Sources