Detecting Display Settings using ActionScript

written by: Duncan Murray; article published: year 2007, month 07;

In: Root » Computers and technology » Flash

  Share  
|
  PL  |  NL  |  FR  |  ES  |  PT  |  IT  |  DE  |  DK  |  NO  |  SE  |  FI  |  GR  |  JP  |  CN  |  KR  |  RU  |  AE


You want to know the display settings for the device on which the movie is being played. Use the screenResolutionX and screenResolutionY properties of the System.capabilities object.

You should use the System.capabilities object to determine the display settings of the device that is playing the movie. The screenResolutionX and screenResolutionY properties return the display resolution in pixels.

// Example output:
   // 1024
   // 768
   trace(System.capabilities.screenResolutionX);
   trace(System.capabilities.screenResolutionY);

You can use these values to determine how to display a movie or even which movie to load. These decisions are increasingly important as more handheld devices support the Flash Player. For example, the dimensions of a cell phone screen and a typical desktop computer display are different, so you should load different content based on the playback device:

resX = System.capabilities.screenResolutionX;
   resY = System.capabilities.screenResolutionY;
// If the resolution is 240   x   320 or less, then load the PocketPC movie version.
   // Otherwise, assume the device is a desktop computer and load the regular content.
   if ( (resX <= 240) && (resY <= 320) ) {
   _root.loadMovie("main_pocketPC.swf");
   }
   else {
   _root.loadMovie("main_desktop.swf");
   }

You can also use the screen-resolution values to center a pop-up browser window:

resX = System.capabilities.screenResolutionX;
   resY = System.capabilities.screenResolutionY;
// Set variables for the width and height of the new browser window.
   winW = 200;
   winH = 200;
// Determine the x and y values in order to center the window.
   winX = (resX / 2) - (winW / 2);
   winY = (resY / 2) - (winH / 2);
// Create the code that, when passed to getURL(  ), opens the new browser window.
   jsCode = "javascript:void(newWin=window.open('http://www.person13.com/'," + 
   "'newWindow', 'width=" + winW +
   ", height=" +  winH + "," + 
   "left=" + winX + ",top=" + winY + "'));";
// Call the JavaScript function using getURL(  ).
 _root.getURL(jsCode);

Additionally, it is worth considering using the screen-resolution values to determine whether to scale a movie. For example, when users have their resolution set to a high value such as 1600 x 1200, some fonts may appear too small to read.

Share

Disclaimer

1) E-articles is not responsible for the information contained by this article as well for any and all copyright infringements by authors and writers. E-articles is a free information resource. If you suspect this article for any copyright infringement, please read the terms of service and contact us or use the "Report this article" button on this page to investigate the problem.
2) E-articles is not responsible for inaccuracies, falsehoods, or any other types of misinformation this article may contain and will not be liable for any loss or damage suffered by a user through the user's reliance on the information gained here.