ƒCƒ“ƒTƒCƒh UJML

 

 

 

ƒo[ƒWƒ‡ƒ“ 1.5 - 2006/06/23

 

 

 

 

 

 

 

 

 

 

 

www.uievolution.com

Copyright 2001-2006 by UIEvolution, Inc. All rights reserved.



‚Í‚¶‚ß‚É . 4

UJML ‚̃ƒŠƒbƒg . 4

¬‚³‚ȃfƒoƒCƒX‚Å‚à–L‚©‚ȃ†[ƒU‘ÌŒ± . 4

ŠÈ’P‚ÉŠw‚ׂé . 4

Hello World! ‚Ì—á . 4

ƒ}ƒ‹ƒ`ƒvƒ‰ƒbƒgƒtƒH[ƒ€‘Ήž . 6

. 6

—D‚ꂽƒZƒLƒ…ƒŠƒeƒB. 7

ƒCƒ“ƒXƒg[ƒ‹•s—v‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“ƒ‚ƒfƒ‹‚ð’ñ‹Ÿ 7

UJML ‚̃A[ƒLƒeƒNƒ`ƒƒ . 7

ƒXƒ^ƒeƒBƒbƒN VS ƒ_ƒCƒiƒ~ƒbƒN . 8

ƒp[ƒeƒBƒVƒ‡ƒ“ . 9

ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ŠJ”­ 11

SDK.. 12

ƒCƒ“ƒXƒg[ƒ‹ . 12

ƒAƒvƒŠƒP[ƒVƒ‡ƒ“. 13

‰æ–Ê•\ަ. 14

ƒXƒe[ƒg. 15

Z-order 17

ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒƒWƒbƒN . 19

•Ï”. 20

ƒXƒNƒŠƒvƒg 21

Ž®. 24

ŠÖ”. 24

ƒtƒ[§Œä .. 27

ƒCƒxƒ“ƒg. 28

ƒXƒe[ƒg. 29

ƒeƒ“ƒvƒŒ[ƒg. 31

Ujinn. 35

ƒOƒŠƒbƒh‚̉Šú‰» . 35

ƒ‹[ƒv‚ðŽg‚Á‚½’èŠú“I‚ȉæ–ÊXV . 38

ƒJ[ƒ\ƒ‹ 39

ƒ{ƒbƒNƒX‚ðÁ‚· . 42

ƒXƒRƒA•\ަ . 51

ƒQ[ƒ€‚ÌI—¹”»’è . 54

ƒƒjƒ…[. 56

ƒrƒW[ƒJ[ƒ\ƒ‹iˆ—’†ƒCƒ“ƒWƒP[ƒ^j 69

ƒQ[ƒ€‚ÌÄŠJ . 74

ƒ[ƒJƒ‰ƒCƒY. 80

ƒAƒjƒ[ƒVƒ‡ƒ“ . 86

Ä—˜—p‰Â”\‚ȃRƒ“ƒ|[ƒlƒ“ƒg . 95

<state-machine>. 96

<include>. 99

ƒTƒ“ƒvƒ‹ƒR[ƒh. 100

ƒrƒW[iBusyj. 100

ƒ{ƒ^ƒ“iButtonj. 100

ƒGƒfƒBƒbƒgiEditj 101

ƒCƒxƒ“ƒgiEventj 102

ƒtƒH[ƒJƒXiFocusj. 103

ƒtƒ@ƒ“ƒNƒVƒ‡ƒ“ƒL[iFunctionKeyj. 103

ƒCƒ[ƒWiImagej. 104

ƒ‰ƒxƒ‹iLabelj 105

ƒŠƒ“ƒJiLinkerj 106

ƒƒjƒ…[iMenuj. 107

ƒŒƒR[ƒhƒZƒbƒgiRecordSetj 108

ƒXƒNƒ[ƒ‹ƒo[iScrollBarj 109

ƒXƒ^ƒbƒNiStackj. 109

ƒeƒLƒXƒgƒ{ƒbƒNƒXiTextBoxj. 110

ƒŠƒXƒgiListj 110

ƒƒbƒZ[ƒWƒ{ƒbƒNƒXiMessage Boxj . 111

 


 

Document History

 

‚Í‚¶‚ß‚É

–{ƒKƒCƒh‚Í UjinnMarkup Language(UJML) ‚ðŽg—p‚µAŒg‘Ñ“d˜b‚âPDAAƒpƒ\ƒRƒ“A‚»‚µ‚Ä‘g‚Ýž‚Ý‹@Ší‚Ȃǂ̃vƒ‰ƒbƒgƒtƒH[ƒ€‚É‚¨‚¢‚ăAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÌŠJ”­‚Æ”z•z‚ðŠÈ’P‚És‚¤•û–@‚É‹»–¡‚ª‚ ‚él‚Ì‚½‚߂̃KƒCƒh‚Å‚·B

 

–{ƒKƒCƒh‚ÍŠÈ’P‚ȃQ[ƒ€EƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì‘‚«•û‚ɂ‚¢‚Äà–¾‚·‚éƒ`ƒ…[ƒgƒŠƒAƒ‹Œ`Ž®‚ð‚Æ‚Á‚Ä‚¢‚Ü‚·Bƒ`ƒ…[ƒgƒŠƒAƒ‹‚É‚¨‚¯‚éŠeƒXƒeƒbƒv‚Å‚ÍAƒQ[ƒ€ŠJ”­‚É‚¨‚¯‚é UJML ‚ÌŠT”O‚ð‚P‚‚¸‚ÂЉ‚Ä‚¢‚Ü‚·B–{ƒKƒCƒh‚͂܂½AUJML ‚ÌŠT”O‚ÉŠÖ‚·‚éˆê”Ê“I‚ȃqƒ“ƒg‚à’ñ‹Ÿ‚µ‚Ä‚¢‚Ü‚·B

UJML ‚̃ƒŠƒbƒg

UJML ‚ðŽg—p‚·‚邯AƒŠƒbƒ`‚ȃ†[ƒU‘ÌŒ±‚ð—^‚¦‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚𑼂̂ǂñ‚ȃeƒNƒmƒƒW[‚æ‚è‚à‘½‚­‚ÌlX‚ɑ΂µ‚Ä’ñ‹Ÿ‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B

¬‚³‚ȃfƒoƒCƒX‚Å‚à–L‚©‚ȃ†[ƒU‘ÌŒ±

UJML ‚Í2‚‚̂±‚Æ‚ðŽÀŒ»‚·‚邽‚ßAƒ~ƒjƒ}ƒŠƒXƒg‚ÈŽv‘z‚ÅÝŒv‚³‚ê‚Ä‚¢‚Ü‚·B1‚Â‚Í UJML ‚̃oƒCƒgƒR[ƒh‚ðŽÀs‚·‚é UIE Player ‚̃TƒCƒY‚𬂳‚­‚·‚邱‚ÆBUIE Player ‚Í Java ‘Ήž’[––‚É‚¨‚¢‚Ä 30KB ’ö“x‚ÉŽû‚ß‚ç‚ê‚Ä‚¢‚Ü‚·B‚à‚¤1‚‚̓Vƒ“ƒvƒ‹‚©‚ÂK“¾‚ª—eˆÕ‚ȃvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚ðŽÀŒ»‚·‚邱‚ÆBUJML ‚̓~ƒjƒ}ƒŠƒXƒg‚ÈÝŒvŽv‘z‚ðÌ‚Á‚Ä‚¢‚é‚É‚àŠÖ‚í‚炸AƒŠƒbƒ`‚ȃ†[ƒU‘ÌŒ±‚ð’ñ‹Ÿ‚·‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÌŠJ”­‚ðŽÀŒ»‚µ‚Ä‚¢‚Ü‚·B

ŠÈ’P‚ÉŠw‚ׂé

UJML ‚Í ECMA ScriptiJavaScriptj‚̃TƒuƒZƒbƒg‚ðƒTƒ|[ƒg‚·‚éAXMLƒx[ƒX‚̃vƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚Å‚·B

Hello World! ‚Ì—á

ŽŸ‚ÉA‰æ–Êã‚ÉuHello Worldv‚Æ•\ަ‚·‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðЉ‚Ü‚·B‚±‚Ì—á‚Å‚Í UJMLAJavaiJ2ME/MIDPjAC++iBREWj‚ÌŠeŒ¾Œê‚ðŽg‚Á‚Ä Hello World ‚ð‹Lq‚µ‚Ä‚¢‚Ü‚·BSymbianAPalm OSA‚»‚µ‚Ä Pocket PC ƒo[ƒWƒ‡ƒ“‚Í•¡ŽG‚³‚É‚¨‚¢‚Ä BREW ƒo[ƒWƒ‡ƒ“‚ÉŽ—‚Ä‚¢‚邽‚ßÈ—ª‚µ‚Ä‚¢‚Ü‚·B‚Ü‚½ HTML ‚Æ WML ƒo[ƒWƒ‡ƒ“‚ÍŠÈ’P‚³‚É‚¨‚¢‚Ä UJML ‚ÆŽ—‚Ä‚¢‚é‚Ì‚ÅA‚â‚Í‚èÈ—ª‚µ‚Ä‚¢‚Ü‚·B

 

‚±‚Ì”äŠr‚Å‚Í UJML ‚̃Vƒ“ƒvƒ‹‚³‚ðƒ‚ƒoƒCƒ‹—p‚Ì‘¼‚̃vƒƒOƒ‰ƒ€Œ¾Œê‚Æ”äŠrà–¾‚µ‚Ä‚¢‚Ü‚·BUJML ‚ł͓Á’è‚̈—‚ð‹Lq‚·‚邽‚߂̃R[ƒfƒBƒ“ƒO—Ê‚ª­‚È‚­‚Äςނ¾‚¯‚łȂ­AŒ¾Œê‚ðŠw‚ÑA—‰ð‚µAn—û‚·‚邽‚߂ɕK—v‚ÈŒ¾ŒêƒRƒ“ƒZƒvƒg‚ª’Pƒ‚©‚ŠȌ‰‚ɂȂÁ‚Ä‚¢‚Ü‚·B

 

UJML ӁF

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE ujml PUBLIC "-//UIEVOLUTION//DTD UJML 1.1//EN" "ujml.dtd">

<ujml>

  <application>

    <display>

      <label>

        <text>Hello world</text>

      </label>

    </display>

  </application>

</ujml>

 

 

J2ME/MIDP ӁF

 

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

 

public class HelloWorld extends MIDlet implements CommandListener

{

  private Command exitCommand; // The exit command

  private Display display;   // The display for this MIDlet

 

  public HelloWorld()

  {

       display = Display.getDisplay(this);

       exitCommand = new Command("Exit", Command.SCREEN, 2);

  }

 

  public void startApp()

  {

       TextBox t = new TextBox("", "Hello World", 256, 0);

       t.addCommand(exitCommand);

       t.setCommandListener(this);

       display.setCurrent(t);

  }

 

  public void pauseApp()

  {

  }

 

  public void destroyApp(boolean unconditional)

  {

  }

 

  public void commandAction(Command c, Displayable s)

  {

       if (c == exitCommand)

         {

         destroyApp(false);

         notifyDestroyed();

       }

  }

}

 

BREW ӁF

 

#include "AEEModGen.h"      // Module interface definitions

#include "AEEAppGen.h"      // Applet interface definitions

#include "AEEShell.h"       // Shell interface definitions

#include "AEEDisp.h"        // Display interface defintions

#include "helloworld.bid"   // applet class ID

#include "AEEFile.h"        // AEEFile Services

 

static boolean HelloWorld_HandleEvent(IApplet * pi, AEEEvent eCode,  uint16 wParam, uint32 dwParam);

 

int AEEClsCreateInstance(AEECLSID ClsId,IShell * pIShell,IModule * po,void ** ppObj)

{

   *ppObj = NULL;

                            

   if(ClsId == AEECLSID_HELLOWORLD)

   {

      if(AEEApplet_New(sizeof(AEEApplet), ClsId, pIShell,po,(IApplet**)ppObj,

         (AEEHANDLER)HelloWorld_HandleEvent,NULL)  == TRUE)

      {

         return (AEE_SUCCESS);

      }

   }

 

   return (EFAILED);

}

 

static boolean HelloWorld_HandleEvent(IApplet * pi, AEEEvent eCode, uint16 wParam, uint32 dwParam)

   AEEDeviceInfo di;

   AECHAR szBuf[] = {'H','e','l','l','o',' ','W','o', 'r', 'l', 'd', '\0'};

   AEEApplet * pMe = (AEEApplet*)pi;

 

   switch (eCode)

   {

      case EVT_APP_START:                       

         ISHELL_GetDeviceInfo (pMe->m_pIShell, &di);

         IDISPLAY_ClearScreen (pMe->m_pIDisplay);

         IDISPLAY_DrawText(pMe->m_pIDisplay, AEE_FONT_BOLD, szBuf, -1, 0, 0, 0, IDF_ALIGN_CENTER | IDF_ALIGN_MIDDLE);

         IDISPLAY_Update (pMe->m_pIDisplay);

         return(TRUE);

 

      case EVT_APP_STOP:

         return TRUE;

 

      default:

         break;

   }

 

   return FALSE;

}

ƒ}ƒ‹ƒ`ƒvƒ‰ƒbƒgƒtƒH[ƒ€‘Ήž

UIE Player ‚ÍŽŸ‚̃vƒ‰ƒbƒgƒtƒH[ƒ€‚ɑΉž‚µ‚Ä‚¢‚Ü‚·F

 

·        Java

o       J2ME/MIDP (AT&T, Sprint)

o       J2ME/DoJa (NTT DoCoMo 504i ˆÈ~)

o       Personal Java

o       J2SE (Applet/Application)

·        BREW (VerizonA All-TelAau/KDDI)

·        Danger Hiptop

·        Palm OS 3.5 ˆÈ~

·        Pocket PC

·        Symbian

·        Win32 ActiveX

·        ƒQ[ƒ€ƒ{[ƒCƒAƒhƒoƒ“ƒXiƒvƒƒgƒ^ƒCƒvj

ƒNƒ‰ƒCƒAƒ“ƒg^ƒT[ƒoŒ^ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃Tƒ|[ƒg

UJML ‚ł̓AƒvƒŠƒP[ƒVƒ‡ƒ“‚ÆƒŠƒ\[ƒX‚̓ǂݞ‚Ý‚É URL ‚ðŽg—p‚µ‚Ü‚·BUJML ‚̃vƒƒOƒ‰ƒ~ƒ“ƒOƒ‚ƒfƒ‹‚̓Xƒ^ƒ“ƒ_ƒ[ƒ“‚̃vƒŠƒCƒ“ƒXƒg[ƒ‹ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚¾‚¯‚łȂ­A“®“I‚ȃNƒ‰ƒCƒAƒ“ƒgƒT[ƒoŒ^ƒlƒbƒgƒ[ƒNƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚àŠÈ’P‚É쬂ł«‚邿‚¤‚ÉÝŒv‚³‚ê‚Ä‚¢‚Ü‚·BUIE Player‚ÍA‘Š‘ÎƒpƒX‚Ì URL ‚ɉÁ‚¦ http ‚Æ file ‚Ì2‚‚̃XƒL[ƒ}‚ɑΉž‚µ‚Ä‚¢‚Ü‚·B

—D‚ꂽƒZƒLƒ…ƒŠƒeƒB

UJML ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Í UIE Player ‚ªŽÀs‚µ‚Ü‚·BUIE Player ‚ÍŒ‡Š×‚∫ˆÓ‚Ì‚ ‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚©‚çƒfƒoƒCƒX‚ðŽç‚èAƒNƒ‰ƒbƒVƒ…‚µ‚½ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðƒAƒ“ƒ[ƒh‚µ‚Ü‚·B‚±‚Ì "sandbox" ‹@”\‚ÍAUJML ƒAƒvƒŠƒP[ƒVƒ‡ƒ““¯Žm‚ðŒÝ‚¢‚©‚ç•ی삷‚邾‚¯‚łȂ­Aˆ«ˆÓ‚Ì‚ ‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚æ‚éƒfƒoƒCƒX‚ւ̃_ƒ[ƒW‚ð§ŒÀ‚µ‚Ü‚·B

 

ƒfƒtƒHƒ‹ƒg‚Å‚ÍAUJML ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚©‚çƒtƒ@ƒCƒ‹ƒVƒXƒeƒ€‚â“d˜b’ A“d˜b‚̉¹º”­ŒÄ‚Ȃǂ̃fƒoƒCƒX‹@”\‚ɃAƒNƒZƒX‚·‚邱‚Ƃ͂ł«‚Ü‚¹‚ñBƒfƒoƒCƒX‚Ì‹@”\‚⃊ƒ\[ƒX‚ւ̃AƒNƒZƒX‚ðŠJ•ú‚µ‚½ƒJƒXƒ^ƒ}ƒCƒY”Å‚Ì UIE Player ‚Å‚ÍA UIE Player ‚ÌÝ’è‚ð’Ê‚¶‚Ä_“î‚ȃZƒLƒ…ƒŠƒeƒBƒ|ƒŠƒV[‚ðŽÀŒ»‚µ‚Ä‚¢‚Ü‚·B‚±‚̃ZƒLƒ…ƒŠƒeƒBƒ|ƒŠƒV[‚ðŽg—p‚·‚邯M—Ђł«‚é UJML ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚âƒp[ƒeƒBƒVƒ‡ƒ“‚É‚æ‚郊ƒ\[ƒX‚ւ̃AƒNƒZƒX‚ðŒÀ’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·BUIE Player ‚ÍAHTML/HTTP ƒuƒ‰ƒEƒUã‚ł̃NƒbƒL[ƒZƒLƒ…ƒŠƒeƒB‚ÉŽ—‚½AURL ƒx[ƒX‚̃Vƒ“ƒvƒ‹‚ȃZƒLƒ…ƒŠƒeƒBƒ|ƒŠƒV[‚ð”õ‚¦‚Ä‚¢‚Ü‚·B

ƒCƒ“ƒXƒg[ƒ‹•s—v‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“ƒ‚ƒfƒ‹‚ð’ñ‹Ÿ

ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃Cƒ“ƒXƒg[ƒ‹ŠÇ—‚©‚烆[ƒU[‚ð‰ð•ú‚·‚邽‚ßAUIE Player ‚ł̓fƒoƒCƒX‚Ƀ[ƒJƒ‹‚È‹L‰¯‘•’u‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃LƒƒƒbƒVƒ…‚Æ‚µ‚ÄŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·BƒLƒƒƒbƒVƒ…‚É‘¶Ý‚µ‚È‚¢ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÍUIE Player ‚ªƒlƒbƒgƒ[ƒN‚©‚çŽæ“¾‚µ‚Ü‚·BƒLƒƒƒbƒVƒ…‚ªˆê”t‚ɂȂÁ‚½ê‡AƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚͌¢‡‚ɃLƒƒƒbƒVƒ…‚©‚çŽÌ‚Ä‚ç‚ê‚Ü‚·B

 

‚±‚ÌŽd‘g‚݂̓fƒoƒCƒX‚̉^—pƒRƒXƒg‚ð‘啂ɉº‚°‚Ü‚·B——R‚ÍAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì•ÛŽç‚Æ”z•z‚ðƒT[ƒo[‘¤‚Ås‚¤‚½‚ßAƒfƒoƒCƒXã‚É‚¨‚¯‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“ŠÇ—‚ª•s—v‚ƂȂ邩‚ç‚Å‚·B‚±‚ÌŽd‘g‚݂͂܂½AƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃Aƒbƒvƒf[ƒg‚𓧉ߓI‚É”z•z‚·‚邱‚Æ‚ð‰Â”\‚É‚µ‚Ü‚·BƒAƒbƒvƒf[ƒg‚ð”z•z‚·‚é‚É‚ÍV‚µ‚¢ƒo[ƒWƒ‡ƒ“‚ðƒT[ƒo‚É”z”õ‚µ‚Ü‚·BV‚µ‚¢ƒo[ƒWƒ‡ƒ“‚ÍAƒ†[ƒU[‚ªƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðŽÀs‚·‚邯ީ“®“I‚ɓǂݞ‚Ü‚ê‚Ü‚·B

UJML ‚̃A[ƒLƒeƒNƒ`ƒƒ

UJML ‚Í UJML DTD‚É€‹’‚·‚é XML ƒx[ƒX‚̃}[ƒNƒAƒbƒvŒ¾Œê‚Å‚·B‚±‚ÌŒ¾Œê‚ł̓rƒWƒ…ƒAƒ‹ƒXƒe[ƒg‚Ì‹Lq‚ð’Ê‚¶‚ĉæ–Ê•\ަ‚ðs‚¢‚Ü‚·B‚Ü‚½ƒXƒe[ƒg‚É‚Í UIE Player ‚ªƒXƒe[ƒgŠÔ‚ð‘JˆÚ‚·‚éÛ‚Ì“®ì‚ð§Œä‚·‚éAŽÀsƒR[ƒh‚̃uƒƒbƒN‚ð‹Lq‚µ‚Ü‚·B

 

UJML ‚Í UIE Player ‚ƌĂ΂ê‚鬂³‚ȃAƒvƒŠƒP[ƒVƒ‡ƒ“iHTMLƒuƒ‰ƒEƒU‚Æ“¯“™‚Ì‚à‚Ì‚Æl‚¦‚Ä‚­‚¾‚³‚¢j‚É‚æ‚Á‚ăfƒoƒCƒXã‚É•\ަ‚³‚ê‚Ü‚·BuBrowseriƒuƒ‰ƒEƒUjv‚ł͂Ȃ­uPlayeriƒvƒŒƒCƒ„[jv‚Æ‚¢‚¤Œ¾—t‚ð—p‚¢‚é‚Ì‚ÍAHTML ƒRƒ“ƒeƒ“ƒc‚̂قƂñ‚Ç‚ªÃ“I‚ȃy[ƒW‚Å‚ ‚é‚̂ɑ΂µAUJML ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªƒAƒNƒeƒBƒu‚©‚“®“I‚Å‚ ‚邱‚ƂɗR—ˆ‚µ‚Ä‚¢‚Ü‚·BUJML ‚Í’Êí‚Ì HTML ‚ł͂Ȃ­AƒXƒNƒŠƒvƒeƒBƒ“ƒO‚É‚æ‚éƒAƒNƒeƒBƒu‚©‚“®“I‚ȃRƒ“ƒeƒ“ƒc‚ðƒTƒ|[ƒg‚·‚é Dynamic HTMLiDHTMLj‚ÉŽ—‚Ä‚¢‚邯‚¢‚¦‚é‚Å‚µ‚傤B

 

‘¼‚̃}[ƒNƒAƒbƒvŒ¾Œêƒuƒ‰ƒEƒU‚ƈقȂèAUIE Player ‚Í UJML ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ð’¼Ú•\ަ‚µ‚Ü‚¹‚ñBƒpƒtƒH[ƒ}ƒ“ƒX‚Ìő剻‚ÆƒŠƒ\[ƒXÁ”ïiCPU‚ƃƒ‚ƒŠj‚ÌŒø—¦‰»‚ð}‚邽‚ß‚ÉAUJML ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚Í UIE Player ‚ªˆ—‰Â”\‚ȃoƒCƒgƒR[ƒhƒtƒ@ƒCƒ‹‚ɃRƒ“ƒpƒCƒ‹‚·‚é•K—v‚ª‚ ‚è‚Ü‚·BƒRƒ“ƒpƒCƒ‰‚Í UJML ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚ðŒø—¦‚Ì‚‚¢ŽÀsŒ`Ž®‚ɃRƒ“ƒpƒCƒ‹‚µ‚Ü‚·B‚»‚ÌÛAŒ³‚Ì UJML ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚𬂳‚ȃTƒCƒY‚Ɉ³k‚µA‚ƒRƒXƒg‚©‚‘шæ‚ÌŒÀ‚ç‚ꂽƒƒCƒ„ƒŒƒXƒlƒbƒgƒ[ƒNã‚ł̒ÊM”\—¦‚ð‚‚߂܂·B

 

ƒXƒ^ƒeƒBƒbƒN VS ƒ_ƒCƒiƒ~ƒbƒN

ƒRƒ“ƒpƒCƒ‰‚Í UJBC ƒtƒ@ƒCƒ‹‚ƌĂ΂ê‚éƒRƒ“ƒpƒCƒ‹Ï‚Ý‚Ì UJML ƒtƒ@ƒCƒ‹‚ðƒIƒtƒ‰ƒCƒ“‚Å쬂·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B ƒRƒ“ƒpƒCƒ‰‚͂܂½AƒT[ƒo‚ɃCƒ“ƒXƒg[ƒ‹‚·‚邱‚Ƃɂæ‚èƒIƒ“ƒfƒ}ƒ“ƒh‚ȃRƒ“ƒpƒCƒ‹‚ª‰Â”\‚ɂȂè‚Ü‚·B ŽŸ‚Ì2‚‚Ì}‚Å‚ÍAUJML ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðŠJ”­‚µ”z•z‚·‚éÛ‚És‚¤ì‹Æ‚ð‚»‚ê‚¼‚ê‚̃P[ƒX‚É“–‚Ă͂߂ĉðà‚µ‚Ä‚¢‚Ü‚·B ʼn‚Ì}‚ł̓Iƒtƒ‰ƒCƒ“‚ŃRƒ“ƒpƒCƒ‹‚µ‚½ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðƒfƒoƒCƒX‚ɃvƒŠƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚¢‚Ü‚·B ŽŸ‚Ì}‚ł̓fƒoƒCƒX‚©‚ç‚ÌƒŠƒNƒGƒXƒg‚ɉž‚¶‚ÄAƒT[ƒo[‘¤‚ŃAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð“®“I‚ɃRƒ“ƒpƒCƒ‹‚µ‚Ä‚¢‚Ü‚·B ‚±‚Ì2‚‚̓Rƒ“ƒpƒCƒ‹•û–@‚Ì“ñ‹É’[‚Å‚·‚ªA‚±‚êˆÈŠO‚É‚à‘½‚­‚̃oƒŠƒG[ƒVƒ‡ƒ“‚ª‘¶Ý‚µ‚Ü‚·B

 

}FƒRƒ“ƒpƒCƒ‹Ïƒtƒ@ƒCƒ‹‚É‚æ‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì”z•z

 

}Fƒ_ƒCƒiƒ~ƒbƒNƒRƒ“ƒpƒCƒ‹‚É‚æ‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì”z•z

 

‚±‚Ì2‚‚̔z•zƒ‚ƒfƒ‹‚ɑΉž‚·‚邽‚ß‚ÉAUIE Player ‚Í http ‚Æ file ‚Ì—¼ URL ƒXƒL[ƒ€‚ɑΉž‚µ‚Ä‚¢‚Ü‚·B

 

UIE Player ‚Í HTML ƒuƒ‰ƒEƒU‚Æ“¯—l‚É—š—ð‹@”\‚ð”õ‚¦‚Ä‚¢‚Ü‚·B—š—ð‚Æ‚ÍAŽÀs’†‚Ì UJML ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚©‚ç’¼‘O‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚É–ß‚ê‚邱‚Æ‚ðˆÓ–¡‚µ‚Ä‚¢‚Ü‚·BƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð‹N“®‚·‚é‚É‚Í _run() ŠÖ”‚ðŽg—p‚µ‚Ü‚·B‚»‚ÌÛA‹N“®‡‚ɉž‚¶‚ăAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªƒqƒXƒgƒŠ[ƒXƒ^ƒbƒN‚ɒljÁ‚³‚ê‚Ü‚·BƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðƒAƒ“ƒ[ƒh‚·‚é‚É‚Í _unload() ŠÖ”‚ðŽg—p‚µ‚Ü‚·BƒAƒ“ƒ[ƒh‚µ‚½ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̓Xƒ^ƒbƒN‚©‚çÁ‹Ž‚³‚êA’¼‘O‚ÉŽÀs‚³‚ê‚Ä‚¢‚½ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªÄ‹N“®‚³‚ê‚Ü‚·BƒfƒoƒCƒXã‚Å‹N“®‚µ‚½ UIE Player ‚ªÅ‰‚ÉŽÀs‚·‚ׂ«ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ URL ‚ÌÝ’è•û–@‚â‹Lq•û–@‚̓vƒ‰ƒbƒgƒtƒH[ƒ€‚Ɉˑ¶‚µ‚Ü‚·B‚±‚ê‚ÍA–{ƒhƒLƒ…ƒƒ“ƒg‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“EƒfƒvƒƒCƒƒ“ƒg‚ÌÍ‚Åà–¾‚µ‚Ä‚¢‚Ü‚·B

ƒp[ƒeƒBƒVƒ‡ƒ“

•¡”‚Ì HTML ƒy[ƒW‚©‚çƒEƒFƒuƒTƒCƒg‚ð\’z‚Å‚«‚é‚̂Ɠ¯—l‚ÉAUJML ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð•¡”‚̃p[ƒeƒBƒVƒ‡ƒ“‚©‚ç\¬‚·‚邱‚Æ‚ª‰Â”\‚Å‚·B_run() ŠÖ”‚É‚æ‚Á‚ēǂݞ‚Þƒp[ƒeƒBƒVƒ‡ƒ“‚̓AƒvƒŠƒP[ƒVƒ‡ƒ“‚ÌuƒƒCƒ“ƒp[ƒeƒBƒVƒ‡ƒ“v‚ ‚é‚¢‚Íueƒp[ƒeƒBƒVƒ‡ƒ“v‚ƌĂ΂ê‚Ü‚·B_link() ŠÖ”‚œǂݞ‚ÝA_unlink() ŠÖ”‚ŃAƒ“ƒ[ƒh‚·‚éƒp[ƒeƒBƒVƒ‡ƒ“‚ÍŽqƒp[ƒeƒBƒVƒ‡ƒ“‚ƌĂ΂ê‚Ü‚·B‚±‚ê‚ç‚ÌŠÖ”‚Ì–¼‘O‚̓oƒCƒiƒŠŒ`Ž®‚ÌŽÀsƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚â DLL ‚Ȃǂ̖½–¼‹K‘¥‚ɉˆ‚Á‚Ä–½–¼‚³‚ê‚Ä‚¢‚Ü‚·BUJML ƒp[ƒeƒBƒVƒ‡ƒ“‚Í—˜—p•û–@‚É‚æ‚Á‚Ä HTML ƒy[ƒW‚ƃoƒCƒiƒŠ DLL ‚Ì—¼“Á«‚𕹂¹Ž‚‚±‚Æ‚ªo—ˆ‚Ü‚·B_link() ŠÖ”‚ÅƒŠƒ“ƒN‚µ‚½ƒp[ƒeƒBƒVƒ‡ƒ“‚̓qƒXƒgƒŠ[ƒXƒ^ƒbƒN‚ɒljÁ‚³‚ê‚Ü‚¹‚ñB‚»‚Ì‘ã‚í‚èA‚±‚̃p[ƒeƒBƒVƒ‡ƒ“‚͌ĂÑo‚µŒ³‚ÌŽqƒp[ƒeƒBƒVƒ‡ƒ“‚ƂȂèAeiŒÄ‚Ño‚µŒ³j‚ªƒAƒ“ƒ[ƒh‚³‚ê‚邯‹¤‚ɃAƒ“ƒ[ƒh‚³‚ê‚Ü‚·B

 

ƒƒ‚ƒŠƒŠƒ\[ƒX‚ðŽg—p‚·‚éƒp[ƒeƒBƒVƒ‡ƒ“‚̓qƒXƒgƒŠ[ƒXƒ^ƒbƒN‚̈ê”Ôã‚É‚ ‚錻݂̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ÆA‚»‚±‚©‚烊ƒ“ƒN‚³‚ê‚Ä‚¢‚éƒp[ƒeƒBƒVƒ‡ƒ“‚ÉŒÀ‚ç‚ê‚Ü‚·BƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªƒqƒXƒgƒŠ[ƒXƒ^ƒbƒN‚̈ê”Ôã‚łȂ­‚È‚Á‚½Žž‚ÉA‚»‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ªŽg—p‚·‚é‚·‚ׂẴƒ‚ƒŠƒŠƒ\[ƒX‚͉ð•ú‚³‚êAV‚µ‚¢ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚æ‚éŽg—p‚ª‰Â”\‚ɂȂè‚Ü‚·B

 

ƒƒ‚F_run() ŠÖ”‚ðŒÄ‚уAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªƒqƒXƒgƒŠ[ƒXƒ^ƒbƒN‚̈ê”Ôã‚Ƀ[ƒh‚³‚ê‚Ä‚¢‚éŠÔ‚ÍAƒ[ƒh‚ªŠ®—¹‚·‚é‚܂Ō»Ý‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ªƒƒ‚ƒŠƒŠƒ\[ƒX‚ðÁ”‚Ü‚·BƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðŠJ”­‚·‚éÛ‚ÍAV‹ŒƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì—¼•û‚ªƒƒ‚ƒŠ‚É“¯Žž‚ÉŽû‚܂邿‚¤‚ÉÝŒv‚µ‚Ä‚­‚¾‚³‚¢B

 

‚±‚Ì–â‘è‚ð‰ñ”ð‚·‚é•û–@‚̈ê‚‚ÉAƒƒ‚ƒŠ‚ÌÁ”ï—Ê‚ª­‚È‚¢’†ŠÔƒAƒvƒŠƒP[ƒVƒ‡ƒ“iƒ[ƒ_[j‚ð Žg—p‚·‚é•û–@‚ª‚ ‚è‚Ü‚·B‚±‚̃hƒLƒ…ƒƒ“ƒg‚É‚ ‚éuAppSplash.ujmlv‚Ì—á‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B

 

ŽŸ‚Ì}‚ÍAˆÈ‰º‚Ì‚±‚Æ‚ª‹N‚±‚Á‚½Œã‚Ì UIE Player ‚̃qƒXƒgƒŠ[ƒXƒ^ƒbƒN‚Ìó‘Ô‚ðŽ¦‚µ‚Ä‚¢‚Ü‚·F

 

1.      UIE Player ‚ª App 1 ‚ðƒfƒtƒHƒ‹ƒg‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚Æ‚µ‚Ä‹N“®B ‚±‚ê‚É‚æ‚èAApp 1 ‚ªƒqƒXƒgƒŠ[ƒXƒ^ƒbƒN‚̈ê”Ô‰º‚Å‚ ‚é0”Ô–Ú‚ÉŠi”[‚³‚ê‚éB

2.      App 1 ‚ª App 2 ‚ðŽÀs‚µAApp 2 ‚ªƒqƒXƒgƒŠ[ƒXƒ^ƒbƒN‚̈ê”Ôã‚Å‚ ‚é1”Ô–Ú‚ÉŠi”[‚³‚ê‚éB

3.      App 2 ‚ªƒp[ƒeƒBƒVƒ‡ƒ“ Part A ‚ðƒŠƒ“ƒNB

4.      App 1 ‚Í‚±‚ÌŽž“_‚Ńƒ‚ƒŠ‚𕨗“I‚Éè—L‚µ‚ĂȂ¢‚½‚ßAƒOƒŒ[•\ަB

 

 

App 2 ‚ª _unload() ŠÖ”‚ðŒÄ‚ÑAŽ©g‚ðƒAƒ“ƒ[ƒh‚·‚éB ‚·‚邯 UIE Player ‚Í App 1 ‚ðÄ‹N“®‚µAƒqƒXƒgƒŠ[ƒXƒ^ƒbƒN‚ÍŽŸ‚Ì}‚̂悤‚ɂȂéF

 

UIE Player ‚͂قƂñ‚ǂ̃fƒoƒCƒX‚É‚¨‚¢‚Ä UJML ƒtƒ@ƒCƒ‹‚ðƒ[ƒJƒ‹‚ɃLƒƒƒbƒVƒ…‚µA ƒlƒbƒgƒ[ƒNŒo—R‚ÌĎ擾‚ð–h‚¢‚Å‚¢‚Ü‚·B

 

UIE Player ‚Í‘½‚­‚̃vƒ‰ƒbƒgƒtƒH[ƒ€‚É‚¨‚¢‚Ä uƒvƒƒpƒeƒBƒoƒbƒOv‚Æ‚¢‚¤Œ`Ž®‚Å ƒ[ƒJƒ‹‚ÅŽ‘±“I‚ȃXƒgƒŒ[ƒW‚ð’ñ‹Ÿ‚µ‚Ä‚¢‚Ü‚·B ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̓vƒƒpƒeƒBƒoƒbƒO‚ð’Ê‚¶‚Ä­—ʂ̃f[ƒ^‚ð’[––‚ɕۑ¶‚·‚邱‚Ƃɂæ‚èA Ž©g‚Ìó‘Ԃ̈ꕔ‚ð•Û‘¶‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B

ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ŠJ”­

ŽŸ‚̃ZƒNƒVƒ‡ƒ“‚Å‚ÍAUjinn[1]‚Æ‚¢‚¤ ƒQ[ƒ€‚ÌŠJ”­‚ð’Ê‚¶‚Ä UJML ‚Ì‹@”\‚ðà–¾‚µ‚Ü‚·B‚±‚̃Q[ƒ€‚ÍuSameGamev‚Æ‚¢‚¤ƒQ[ƒ€‚ªƒx[ƒX‚ɂȂÁ‚Ä‚¨‚èA ŽŸ‚̂悤‚ÈŠî–{Žd—l‚ðŽ‚Á‚Ä‚¢‚Ü‚·B

 

ƒAƒvƒŠƒP[ƒVƒ‡ƒ“–¼Fujinn

 

–Ú“IF

 

ƒOƒŠƒbƒh‚©‚ç‰Â”\‚ÈŒÀ‚è‚̃{ƒbƒNƒX‚ðŽæ‚èœ‚«AƒXƒRƒA‚ðÅ‘å‚É‚·‚邱‚ÆB

 

—V‚Ñ•ûF

 

㉺¶‰E‚É“¯F‚̃{ƒbƒNƒX‚ª1‚ˆÈã‚ ‚éê‡A

‚»‚ê‚ç‚̃{ƒbƒNƒX‚ð‘I‘ð‚µ‚ÄŽæ‚蜂­‚±‚Æ‚ª‚Å‚«‚Ü‚·B

ƒ{ƒbƒNƒX‚ƃ{ƒbƒNƒX‚Í—×Ú‚µ‚ĂȂ¯‚ê‚΂Ȃè‚Ü‚¹‚ñB

 

“¾“_‚ÌŒvŽZ•û–@F

 

ƒ{ƒbƒNƒX‚ðŽæ‚èœ‚­‚Æ(n) * (n - 1) ‚ª“¾“_‚ɉÁŽZ‚³‚ê‚Ü‚·B

n ‚Í“¯Žž‚ÉÁ‚µ‚½ƒ{ƒbƒNƒX‚Ì”‚ðŽ¦‚µ‚Ü‚·B

 

ƒQ[ƒ€I—¹Žž‚ÉŽc‚Á‚Ä‚¢‚éƒ{ƒbƒNƒX‚Ì”‚̓yƒiƒ‹ƒeƒB‚Æ‚µ‚ÄŒ¸“_‚³‚ê‚Ü‚·B

‚·‚ׂẴ{ƒbƒNƒX‚ðŽæ‚èœ‚¢‚½ê‡‚̓{[ƒiƒX‚Æ‚µ‚Ä(mScore / 4)‚ª—^‚¦‚ç‚ê‚Ü‚·B

 

ŽŸ‚̃XƒNƒŠ[ƒ“ƒVƒ‡ƒbƒg‚ÍAƒQ[ƒ€ƒŒƒCƒAƒEƒg‚Æ“®ì‚ðŽ¦‚µ‚Ä‚¢‚Ü‚·B

 

 

ƒvƒŒƒCƒ„[‚ªŒ»Ý‚̃{ƒbƒNƒXi¶ãj‚ð‘I‘ð‚µ‚½‚½‚ßA‰©F‚̃{ƒbƒNƒX‚ƉE‘¤‚É—×Ú‚·‚é‚Q‚‚̉©F‚¢ƒ{ƒbƒNƒX‚ªÁ‚¦‚Ü‚·B

 

 

SDK

ˆÈ~‚ÌŠeƒZƒNƒVƒ‡ƒ“‚Å‚ÍA”‘½‚­‚Ì UJML ƒTƒ“ƒvƒ‹‚ðЉ‚Ä‚¢‚Ü‚·B ‚±‚ê‚ç‚Ì UJML ‚Í‚·‚ׂÄuUjinnv‚ÌŠJ”­‚ÉŠñ—^‚µ‚Ä‚¢‚Ü‚·BUJML ‚̃Tƒ“ƒvƒ‹‚ÍA ‚±‚̃hƒLƒ…ƒƒ“ƒg‚É“¯«‚³‚ê‚Ä‚¢‚éƒtƒ@ƒCƒ‹‚ÉŽû‚ß‚ç‚ê‚Ä‚¢‚Ü‚·B ¥”ñASDK ‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä SDK ‚É“¯«‚³‚ê‚Ä‚¢‚éƒTƒ“ƒvƒ‹‚ðŽÀs‚µ‚Ă݂Ă­‚¾‚³‚¢B

ƒCƒ“ƒXƒg[ƒ‹

UIE SDK ‚̃Cƒ“ƒXƒg[ƒ‹•û–@F

 

1.       Java(TM) 2 Platform Standard Edition‚̃Cƒ“ƒXƒg[ƒ‹

ƒTƒ“Eƒ}ƒCƒNƒƒVƒXƒeƒ€ƒY‚ÌJ2SE‚Íujava.sun.com/j2sev‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚Ü‚·B ƒTƒ“‚̃EƒFƒuƒTƒCƒg‚ÌŽg—pà–¾‘‚É]‚Á‚ÄJ2SE Software Development Kit‚ðƒ_ƒEƒ“ƒ[ƒh‚µAƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚­‚¾‚³‚¢B

2.      ŠÂ‹«•Ï”uJAVA_HOMEv‚ðAJ2SE SDK ‚̃‹[ƒgƒfƒBƒŒƒNƒgƒŠ‚Éݒ肵‚Ä‚­‚¾‚³‚¢B ƒfƒtƒHƒ‹ƒg‚Å‚ÍuC:\j2sdk1.4.1_01v‚Å‚·BŠÂ‹«•Ï”‚ÌÝ’è‚ɂ‚¢‚Ä‚Í ‚±‚¿‚ç‚ð‚²——‚­‚¾‚³‚¢B

3.      UIE SDK ‚̃Cƒ“ƒXƒg[ƒ‰‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢B

UIE SDK ‚Í
www.uievolution.com ‚©‚çƒ_ƒEƒ“ƒ[ƒh‚µ‚Ä‚­‚¾‚³‚¢B

 

ƒAƒvƒŠƒP[ƒVƒ‡ƒ“

łଂ³‚È UJML ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì—áF

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE ujml PUBLIC "-//UIEVOLUTION//DTD UJML 1.2//EN" "ujml.dtd">

<ujml>

  <application>

   

  </application>

</ujml>

ƒtƒ@ƒCƒ‹–¼FApplication.ujml

 

ŽŸ‚̎臂ðs‚¢AUIE SDK Debugger ‚Å‚±‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ðŽÀs‚µ‚Ü‚·F

 

1.      ƒfƒoƒbƒK‚ð‹N“®BuƒXƒ^[ƒg>ƒvƒƒOƒ‰ƒ€>UIEvolution SDKv’†‚ÌuUIEƒfƒoƒbƒK‹N“®v‚ð‘I‘ðB

2.      ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‘I‘ðƒ_ƒCƒAƒƒO‚ÅÝ’è‚ðs‚¤B

a.       Application.ujml ‚ւ̃pƒX‚ð“ü—ÍB ‚à‚µInside UJML ZIPƒtƒ@ƒCƒ‹‚ðuD:\My Documents\Inside UJMLv‚É“WŠJ‚µ‚½ê‡‚Í URL‚Éufile:///D:\My Documents\Inside UJML\UJML\Application.ujmlv‚Æ“ü—Í iuŽQÆvƒ{ƒ^ƒ“‚ðŽg‚Á‚ÄAƒtƒ@ƒCƒ‹‚ðŽw’è‚·‚邱‚Æ‚à‰Â”\jB

b.      ƒXƒLƒ“‚Ì‘I‘ð‚ÅuFlip Phone, MIDP (136x140)v‚ð‘I‘ðB

c.       OK ‚ðƒNƒŠƒbƒNB

3.      ƒc[ƒ‹ƒo[‚Ì Run ƒ{ƒ^ƒ“‚ðƒNƒŠƒbƒNB



4.      ƒfƒoƒCƒXƒGƒ~ƒ…ƒŒ[ƒ^‚ÉŽŸ‚̂悤‚ȉæ–Ê‚ª•\ަ‚³‚ê‚éF


 

 

‰æ–Ê•\ަ

Ujinn ‚Íc‰¡‚̘g‚ðŽg‚Á‚½ƒQ[ƒ€‚Å‚ ‚邽‚ߊiŽqó‚̃{ƒbƒNƒX‚ð•\ަ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B ‚Ü‚½ƒXƒNƒŠ[ƒ“Åã•”‚ÉŒ»Ý‚̃XƒRƒA‚ƃŒƒxƒ‹‚Ȃǂ̬тð•\ަ‚µ‚Ü‚·B

 

<display> —v‘f‚ðŽg—p‚·‚邯A‰æ–ʂւ̕`‰æ‚ðŠÈ’P‚És‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B‚±‚±‚ł̓{ƒbƒNƒX‚ÆuScorev‚̃eƒLƒXƒg‚ð•`‚¢‚Ä‚¢‚Ü‚·F

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE ujml PUBLIC "-//UIEVOLUTION//DTD UJML 1.2//EN" "ujml.dtd">

<ujml>

    <application>

        <display>

            <label>

                <text>Score</text>

                <x>2</x>

                <y>2</y>

                <fg>&_COLOR_BLUE;</fg>

            </label>

            <box>

                <x>5</x>

                <y>20</y>

                <width>30</width>

                <height>50</height>

                <fg>&_COLOR_RED;</fg>

                <bg>&_COLOR_GREEN;</bg>

            </box>

        </display>

    </application>

</ujml>

ƒtƒ@ƒCƒ‹F Display.ujml

 

SDK ƒfƒoƒbƒKã‚Å Display.ujml ‚ðŽÀs‚·‚邯AƒGƒ~ƒ…ƒŒ[ƒ^‚ªŽŸ‚ÌŒ‹‰Ê‚ð•Ô‚µ‚Ü‚·F

 

 

‚±‚Ì—á‚ł̓fƒtƒHƒ‹ƒg‚Ì <display> —v‘f‚ðŽg‚Á‚Ä‚¢‚Ü‚·B ƒfƒtƒHƒ‹ƒg‚Ì <display> ‚Ì“à—e‚ÍXV‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢‚½‚ßA ÓI‚È”wŒi‰æ‘œ‚Ȃǂ̕\ަ‚ÉŒü‚¢‚Ä‚¢‚Ü‚·B

ƒXƒe[ƒg

UJML ‚Å“®“I‚ȉæ–Ê•\ަ‚ðs‚¤‚É‚Í <display> —v‘f‚ð’ljÁ‚Å‹Lq‚µ‚Ü‚·B ƒvƒƒOƒ‰ƒ€‚ð’Ê‚¶‚ăXƒe[ƒg•Ï”‚Ì’l‚ÌXV‚·‚邯‚±‚ê‚ç‚Ì—v‘f‚ð§Œäi•\ަAXVA”ñ•\ަj‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B

 

UJML ‚̃Xƒe[ƒg‚͕ϔ‚ªŽæ‚蓾‚é’l‚Ì‚»‚ꂼ‚ê‚ɂ‚«1‚ˆÈã‚Ì <display> —v‘f‚ðŠÖ˜A‚¯‚Ü‚·B —Ⴆ‚΃u[ƒŠƒAƒ“•Ï”‚Í‚Q‚‚̒l‚ðŽæ‚è“¾‚邽‚ßAtrue ‚Æ false ‚Ì2‚‚Ìó‘Ô‚ð•\‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·B UJML‚Å‚ÍA‚±‚ê‚ç‚Ì’l‚à‚µ‚­‚̓Xƒe[ƒg‚²‚Æ‚É<display> —v‘f‚ð’è‹`‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B

 

ŽŸ‚Ì—á‚Å‚ÍAƒu[ƒŠƒAƒ“Œ^‚̃Xƒe[ƒg•Ï” sBox ‚ª true ‚Ì’l‚ðŽæ‚Á‚½ê‡‚Ì <display> —v‘f‚ª‚P‚Â’è‹`‚µ‚Ä‚¢‚Ü‚·B sBox ‚ª true ‚Éݒ肳‚ê‚邯‰æ–Êã‚Ƀ{ƒbƒNƒX‚ª•\ަ‚³‚ê‚Ü‚·B ‹t‚É false ‚ɃZƒbƒg‚³‚ꂽê‡Afalse ‚É’è‹`‚¯‚ç‚ꂽ <display> ‚ª‘¶Ý‚µ‚È‚¢‚½‚߃{ƒbƒNƒX‚ª”ñ•\ަ‚ƂȂè‚Ü‚·B

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE ujml PUBLIC "-//UIEVOLUTION//DTD UJML 1.2//EN" "ujml.dtd">

<ujml>

    <application>

        <state-variables>

            <state-var name="sBox" type="boolean"/>

        </state-variables>

        <script>

            sBox = true;

        </script>

        <states>

            <state var="sBox">

                <transition value="true">

                    <display>

                        <box>

                            <x>5</x>

                            <y>20</y>

                            <width>30</width>

                            <height>50</height>

                            <fg>&_COLOR_RED;</fg>

                            <bg>&_COLOR_GREEN;</bg>

                        </box>

                    </display>

                </transition>

            </state>

        </states>

    </application>

</ujml>

ƒtƒ@ƒCƒ‹F DisplayState.ujml

 

‚±‚Ì—á‚ðŽÀs‚·‚é‚ÆŽŸ‚̂悤‚ȉæ–Ê‚ª•\ަ‚³‚ê‚Ü‚·F

 

 

ŽŸ‚Ì—á‚ł͂³‚«‚Ù‚Ç‚Ì Display.ujml ‚ð•ÏX‚µA <display> —v‘f‚ðƒeƒLƒXƒg‚ƃ{ƒbƒNƒX‚Ì‚»‚ꂼ‚ê‚É•ªŠ„‚µ‚Ä‹Lq‚µ‚Ä‚¢‚Ü‚·B •ªŠ„‚É‚æ‚èAƒeƒLƒXƒg‚ƃ{ƒbƒNƒX‚Ì‚»‚ꂼ‚ê‚ɑΉž‚·‚éƒXƒe[ƒg•Ï”‚ð true ‚Ü‚½‚Í false ‚Éݒ肵 ŠeX‚ð“Æ—§‚µ‚Ä•\ަE”ñ•\ަ‚·‚邱‚Æ‚ª‰Â”\‚ɂȂè‚Ü‚µ‚½B

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE ujml PUBLIC "-//UIEVOLUTION//DTD UJML 1.2//EN" "ujml.dtd">

<ujml>

    <application>

        <state-variables>

            <state-var name="sScore" type="boolean"/>

            <state-var name="sBox" type="boolean"/>

        </state-variables>

        <script>

            sScore = true;

            sBox = true;

        </script>

        <states>

            <state var="sScore">

                <transition value="true">

                    <display>

                        <label>

                            <text>Score</text>

                            <x>2</x>

                            <y>2</y>

                            <fg>&_COLOR_BLUE;</fg>

                        </label>

                    </display>

                </transition>

            </state>

            <state var="sBox">

                <transition value="true">

                    <display>

                        <box>

                            <x>5</x>

                            <y>20</y>

                            <width>30</width>

                            <height>50</height>

                            <fg>&_COLOR_RED;</fg>

                            <bg>&_COLOR_GREEN;</bg>

                        </box>

                    </display>

                </transition>

            </state>

        </states>

    </application>

</ujml>

ƒtƒ@ƒCƒ‹F DisplayStates.ujml

 

UJML ‚ƃXƒe[ƒg‚ɂ‚¢‚ÄŠo‚¦‚Ä‚¨‚­‚ׂ«Å‚àd—v‚È‚±‚ÆF

 

‰æ–Ê•\ަ‚ðXV‚·‚é—Bˆê‚Ì•û–@‚ÍA <display> —v‘f‚ðŠÜ‚ÞƒXƒe[ƒg•Ï”‚Ì’l‚ð•ÏX‚·‚邱‚ÆB

ƒXƒe[ƒg•Ï”‚ÉŒ»Ý‚Ì’l‚ðÄ“xݒ肵‚Ä‚à•\ަ‚ɉe‹¿‚ð—^‚¦‚Ü‚¹‚ñB ‰æ–Ê‚ð‘‚«Š·‚¦‚é‚É‚ÍA’l‚ð‘‚«Š·‚¦‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñ B [2] ‚±‚ê‚̓u[ƒŠƒAƒ“Œ^‚̕ϔ‚æ‚è‚à®”Œ^‚̃Xƒe[ƒg•Ï”‚̂ق¤‚ªƒpƒƒtƒ‹‚È‚±‚Æ‚ðˆÓ–¡‚µ‚Ä‚¢‚Ü‚·B ”ñ•\ަ‚Ìó‘Ô‚ª•K—v‚Èê‡Aƒu[ƒŠƒAƒ“Œ^ƒXƒe[ƒg•Ï”‚ł͒ÊíA’l‚ª true ‚Ìꇂɕ\ަ‚ðs‚¢A false ‚Ìꇂɔñ•\ަ‚ðs‚¢‚Ü‚·B‚»‚Ì‚½‚ߎÀŽ¿1Ží—Þ‚Ì <display> —v‘f‚µ‚©Ž‚Ă܂¹‚ñB

Z-order

<display> —v‘f‚Í Z-ORDER ‚ɉž‚¶‚Ä”w–Ê‚©‚ç‘O–Ê‚Éd‚Ë‚ç‚êAƒfƒBƒXƒvƒŒƒCã‚É•`‰æ‚³‚ê‚Ü‚·B ‚±‚ê‚Í <display> —v‘f‚ª UJML ƒ\[ƒXƒtƒ@ƒCƒ‹‚ÉoŒ»‚·‚釘‚Ɉê’v‚µ‚Ä‚¢‚Ü‚·B ƒfƒtƒHƒ‹ƒg‚Ì <display> ‚Í Z-ORDER ‚ª’á‚­Å”w–ʂɕ`‰æ‚³‚ê‚Ü‚·B ƒtƒ@ƒCƒ‹‚ÌÅŒã‚É‹Lq‚·‚é <display> ‚Í Z-ORDER ‚ª‚‚­Å‘O–ʂɕ`‰æ‚³‚ê‚Ü‚· [3]B

 

ŽŸ‚Ì—á‚Å‚Í DisplayStates.ujml ‚É2‚‚̃{ƒbƒNƒX‚Æ”wŒi‚ð’ljÁ‚µ‚Ä‚¢‚Ü‚·B ‚Ü‚½ UJML ‚Ì”z—ñ‚Ì쬂Ǝg‚¢•û‚ɂ‚¢‚Ä‚àЉ‚Ä‚¢‚Ü‚·B sBox ‚Í‘O‰ñ‚̃Tƒ“ƒvƒ‹‚É‚¨‚¢‚Ă͒Pƒ‚ȃu[ƒŠƒAƒ“Œ^‚̕ϔ‚Å‚µ‚½‚ªA ‚±‚±‚ł͌•ʕ\ަ‚ª‰Â”\‚Ȃ悤‚É—v‘f”‚ª3‚‚̃u[ƒŠƒAƒ“Œ^‚Ì”z—ñ‚ɂȂÁ‚Ä‚¢‚Ü‚·B ÅŒã‚ÉA‚±‚̃vƒƒOƒ‰ƒ€‚ł̓rƒWƒ…ƒAƒ‹—v‘f‚Ì ARGBiƒAƒ‹ƒtƒ@AÔA—ÎAÂj‚Ì’l‚ðŽw’è‚·‚é•û–@‚ðЉ‚Ä‚¢‚Ü‚·B

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE ujml PUBLIC "-//UIEVOLUTION//DTD UJML 1.2//EN" "ujml.dtd">

<ujml>

    <application>

        <state-variables>

            <state-var name="sScore" type="boolean"/>

            <state-var name="sBox" type="boolean" size="3"/>

        </state-variables>

        <script>

            sScore = true;

            sBox[ 0 ] = true;

            sBox[ 1 ] = true;

            sBox[ 2 ] = true;

        </script>

        <display>

            <box>

                <width>136</width>

                <height>140</height>

            </box>

        </display>

        <states>

            <state var="sScore">

                <transition value="true">

                    <display>

                        <label>

                            <text>Score</text>

                            <x>2</x>

                            <y>2</y>

                            <fg>&_COLOR_BLUE;</fg>

                        </label>

                    </display>

                </transition>

            </state>

            <state var="sBox" index="0">

                <transition value="true">

                    <display>

                        <box>

                            <x>5</x>

                            <y>20</y>

                            <width>30</width>

                            <height>50</height>

                            <fg>0xffcccccc</fg>

                            <bg>0xffcccccc</bg>

                        </box>

                    </display>

                </transition>

            </state>

            <state var="sBox" index="1">

                <transition value="true">

                    <display>

                        <box>

                            <x>10</x>

                            <y>25</y>

                            <width>30</width>

                            <height>50</height>

                            <fg>0xff999999</fg>

                            <bg>0xff999999</bg>

                        </box>

                    </display>

                </transition>

            </state>

            <state var="sBox" index="2">

                <transition value="true">

                    <display>

                        <box>

                            <x>15</x>

                            <y>30</y>

                            <width>30</width>

                            <height>50</height>

                            <fg>0xff666666</fg>

                            <bg>0xff666666</bg>

                        </box>

                    </display>

                </transition>

            </state>

        </states>

    </application>

</ujml>

ƒtƒ@ƒCƒ‹F DisplayZOrder.ujml

 

ƒvƒƒOƒ‰ƒ€‚ÌŽÀsŒ‹‰ÊF

 

ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒƒWƒbƒN

‚±‚ê‚܂ł̗á‚Å‚Í UJML ‚ðŽg‚Á‚ĉæ–ʂɕ¨‚ð•\ަ‚·‚é•û–@‚ð‰ðà‚µ‚Ä‚«‚Ü‚µ‚½B‚Ü‚½ <scirpt> —v‘f‚ðŽg‚Á‚½ƒvƒƒOƒ‰ƒ€ƒƒWƒbƒN‚Ì•\Œ»•û–@‚àŠ_ŠÔŒ©‚邱‚Æ‚ª‚Å‚«‚½‚ÆŽv‚¢‚Ü‚·BUJML ‚͕ϔAŽZpŽ®A˜_—Eƒu[ƒŠƒAƒ“Ž®A•¶Žš—ñŽ®Aƒtƒ[§Œä•¶AŠÖ”‚ƃCƒxƒ“ƒg‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B

•Ï”

‚±‚ê‚܂ł̗á‚Å‚ÍAƒXƒe[ƒg•Ï”‚Ì錾•û–@‚ÆŽg—p•û–@‚ðЉ‚Ü‚µ‚½BƒXƒe[ƒg•Ï”‚̓Xƒe[ƒg‘JˆÚ‚ɑΉž‚·‚邽‚ß‚Ì“à•”“I‚ȃI[ƒo[ƒwƒbƒh‚ðŽ‚Á‚Ä‚¢‚Ü‚·B ‚»‚±‚Å UJML ‚̓Xƒe[ƒg‚ðŽ‚½‚È‚¢’Pƒ•Ï”‚à”õ‚¦‚Ä‚¢‚Ü‚·B ƒXƒe[ƒg•Ï”‚Æ’Pƒ•Ï”‚Í‘¼‚̃vƒƒOƒ‰ƒ€Œ¾Œê‚̕ϔ‚Æ“¯—lAŽ®‚âŽÀs•¶‚ÉŽg—p‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B

 

ŽŸ‚Ì—á‚Å‚ÍAƒXƒRƒA‚Ì’l‚ƃ{ƒbƒNƒX‚ÌF‚ðŠi”[‚·‚邽‚߂̕ϔ‚ð’ljÁ‚µ‚Ä‚¢‚Ü‚·B‚Ü‚½ XML ƒGƒ“ƒeƒBƒeƒB’è‹`‚ðŽg—p‚µ‚½’蔂Ì錾‚ƃfƒBƒXƒvƒŒƒC—v‘f‚É‚¨‚¯‚é•Ï”‚ƒ蔂̎g‚¢•û‚ðЉ‚Ä‚¢‚Ü‚·B

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE ujml PUBLIC "-//UIEVOLUTION//DTD UJML 1.2//EN" "ujml.dtd" [

    <!ENTITY MAX_BOXES "3">

    <!ENTITY BOX_WIDTH "30">

    <!ENTITY BOX_HEIGHT "50">

]>

<ujml>

    <application>

        <state-variables>

            <state-var name="sScore" type="boolean"/>

            <state-var name="sBox" type="boolean" size="&MAX_BOXES;"/>

        </state-variables>

        <variables>

            <var name="mScore" type="int"/>

            <var name="mBox" type="int" size="&MAX_BOXES;"/>

        </variables>

        <script>

            mScore = 0;

            sScore = true;

            mBox[ 0 ] = 0xffcccccc;

            sBox[ 0 ] = true;

            mBox[ 1 ] = 0xff999999;

            sBox[ 1 ] = true;

            mBox[ 2 ] = 0xff666666;

            sBox[ 2 ] = true;

        </script>

        <display>

            <box>

                <width>136</width> <height>140</height>

            </box>

        </display>

        <states>

            <state var="sScore">

                <transition value="true">

                    <display>

                        <label>

                            <text><eval>mScore</eval></text>

                            <x>2</x> <y>2</y>

                            <fg>&_COLOR_BLUE;</fg>

                        </label>

                    </display>

                </transition>

            </state>

            <state var="sBox" index="0">

                <transition value="true">

                    <display>

                        <box>

                            <x>5</x> <y>20</y>

                            <width>&BOX_WIDTH;</width>

                            <height>&BOX_HEIGHT;</height>

                            <fg><eval>mBox[ 0 ]</eval></fg>

                            <bg><eval>mBox[ 0 ]</eval></bg>

                        </box>

                    </display>

                </transition>

            </state>

            <state var="sBox" index="1">

                <transition value="true">

                    <display>

                        <box>

                            <x>10</x> <y>25</y>

                            <width>&BOX_WIDTH;</width>

                            <height>&BOX_HEIGHT;</height>

                            <fg><eval>mBox[ 1 ]</eval></fg>

                            <bg><eval>mBox[ 1 ]</eval></bg>

                        </box>

                    </display>

                </transition>

            </state>

            <state var="sBox" index="2">

                <transition value="true">

                    <display>

                        <box>

                            <x>15</x> <y>30</y>

                            <width>&BOX_WIDTH;</width>

                            <height>&BOX_HEIGHT;</height>

                            <fg><eval>mBox[ 2 ]</eval></fg>

                            <bg><eval>mBox[ 2 ]</eval></bg>

                        </box>

                    </display>

                </transition>

            </state>

        </states>

    </application>

</ujml>

ƒtƒ@ƒCƒ‹FVariables.ujml

 

•\ަŒ‹‰ÊF

 

 

ƒXƒNƒŠƒvƒg

UJML‚̓AƒvƒŠƒP[ƒVƒ‡ƒ“‚̃tƒ[§Œä‚ÆŽ®‚Ì•]‰¿‚Ì‚½‚ß‚É ‚Q‚‚̃XƒNƒŠƒvƒgŒ¾Œê‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B ‚±‚±‚܂ł̗á‚Å‚ÍA UJML ‚ª‘Ήž‚µ‚Ä‚¢‚é ECMA ƒXƒNƒŠƒvƒgiJavaScriptj‚̃TƒuƒZƒbƒg‚ðŽg‚Á‚Ä‚¢‚Ü‚µ‚½B JavaScript ‚Í <script> —v‘f‚É‹Lq‚µ‚Ü‚·B CAC++AJava ‚»‚µ‚Ä JavaScript ‚̂悤‚ȃvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚ɸ’Ê‚µ‚½l‚Å‚ ‚ê‚ÎA UJML ƒAƒvƒŠƒP[ƒVƒ‡ƒ““à‚Å JavaScript ‚ð‹Lq‚·‚é‚â‚è•û‚ªŽg‚¢‚â‚·‚¢‚Å‚µ‚傤B

 

UJML ‚͂܂½AJavaScript ‚Æ“¯“™‚Ì‹@”\‚ðŽ‚¿A‚©‚ÂAXML \•¶‚ðˆÛŽ‚·‚é UJML ƒXƒNƒŠƒvƒg‚É‚à‘Ήž‚µ‚Ä‚¢‚Ü‚·B UJML ƒXƒNƒŠƒvƒg‚Í <execute> —v‘f‚É‹Lq‚µ‚Ü‚·B ƒvƒƒOƒ‰ƒ}[‚ª‘Oq‚̃vƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚ɸ’Ê‚µ‚ĂȂ¢ê‡‚ÍAUJML ƒXƒNƒŠƒvƒg‚ÌŠwK‚©‚çŽn‚ß‚é‚Ù‚¤‚ªŠy‚Å‚µ‚傤B ‚µ‚©‚µ UJML ƒXƒNƒŠƒvƒg‚Íç’·‚ɂȂ肪‚¿‚Å‚ ‚邽‚ßA•¡ŽG‚ÈŒvŽZ‚âƒvƒƒOƒ‰ƒ€‚̃tƒ[§Œä‚ð s‚¤ê‡‚ɃR[ƒh‚̉“ǫ‚ªˆ«‚­‚È‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·BƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃vƒƒOƒ‰ƒ€ƒƒWƒbƒN‚ª •¡ŽG‚ɂȂéꇂÍAJavaScript ‚Ì•û‚ªŠÈ’P‚Å‚ ‚邯Œ¾‚¦‚é‚Å‚µ‚傤B

 

ŽŸ‚Ì—á‚Å‚Í JavaScript ‚Æ UJML ƒXƒNƒŠƒvƒg‚ª“¯“™‚Å‚ ‚邱‚Æ‚ðŽ¦‚µ‚Ä‚¢‚Ü‚·B ‚±‚êˆÈŠO‚Ì—á‚Í‘S‚Ä JavaScript ‚ðŽg‚Á‚Ä‚¢‚Ü‚·B

 

‚±‚Ì—á‚Í‘O‰ñ‚Ì Variables.ujml ‚Ì UJML ƒXƒNƒŠƒvƒg”łł·F

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE ujml PUBLIC "-//UIEVOLUTION//DTD UJML 1.2//EN" "ujml.dtd" [

    <!ENTITY MAX_BOXES "3">

    <!ENTITY BOX_WIDTH "30">

    <!ENTITY BOX_HEIGHT "50">

]>

<ujml>

    <application>

        <state-variables>

            <state-var name="sScore" type="boolean"/>

            <state-var name="sBox" type="boolean" size="&MAX_BOXES;"/>

        </state-variables>

        <variables>

            <var name="mScore" type="int"/>

            <var name="mBox" type="int" size="&MAX_BOXES;"/>

        </variables>

        <execute>

            <set var="mScore">0</set>

            <set-state var="sScore">true</set-state>

            <set var="mBox">

                <index>0</index>

                <val>0xffcccccc</val>

            </set>

            <set-state var="sBox">

                <index>0</index>

                <val>true</val>

            </set-state>

            <set var="mBox">

                <index>1</index>

                <val>0xff999999</val>

            </set>

            <set-state var="sBox">

                <index>1</index>

                <val>true</val>

            </set-state>

            <set var="mBox">

                <index>2</index>

                <val>0xff666666</val>

            </set>

            <set-state var="sBox">

                <index>2</index>

                <val>true</val>

            </set-state>

        </execute>

        <display>

            <box>

                <width>136</width>

                <height>140</height>

            </box>

        </display>

        <states>

            <state var="sScore">

                <transition value="true">

                    <display>

                        <label>

                            <text>

                                <ref var="mScore"/>

                            </text>

                            <x>2</x>

                            <y>2</y>

                            <fg>&_COLOR_BLUE;</fg>

                        </label>

                    </display>

                </transition>

            </state>

            <state var="sBox" index="0">

                <transition value="true">

                    <display>

                        <box>

                            <x>5</x>

                            <y>20</y>

                            <width>&BOX_WIDTH;</width>

                            <height>&BOX_HEIGHT;</height>

                            <fg>

                                <ref var="mBox">

                                    <index>0</index>

                                </ref>

                            </fg>

                            <bg>

                                <ref var="mBox">

                                    <index>0</index>

                                </ref>

                            </bg>

                        </box>

                    </display>

                </transition>

            </state>

            <state var="sBox" index="1">

                <transition value="true">

                    <display>

                        <box>

                            <x>10</x>

                            <y>25</y>

                            <width>&BOX_WIDTH;</width>

                            <height>&BOX_HEIGHT;</height>

                            <fg>

                                <ref var="mBox">

                                    <index>1</index>

                                </ref>

                            </fg>

                            <bg>

                                <ref var="mBox">

                                    <index>1</index>

                                </ref>

                            </bg>

                        </box><