home *** CD-ROM | disk | FTP | other *** search
/ ring.yamanashi.ac.jp/pub/pc/freem/action/ / action.zip / henkyaku1.0.exe / henkyaku / Program / Usr / MessageLayer.tonyu < prev    next >
Text File  |  2010-07-17  |  4KB  |  124 lines

  1. extends PanelChar;
  2. //********************************
  3. //ü@ü@ü@ü@ü@ü@ü@ë≡Éα
  4. //********************************
  5. /*
  6. ê╚ë║é╔éáéΘâüâ\âbâhé≡æSé─âRâsâyé╡é─üAâpâlâïâIâuâWâFâNâgé╔ô\éΦòté»é─é¡é╛é│éóüBêΩé┬é┼éαé⌐é»éΘé╞âpü[é┼é╖üB
  7. é┴é─éóéñé⌐üAæfÆ╝é╔é▒é╠âIâuâWâFâNâgé≡âCâôâNâìü[âhé╡é─é¡éΩéΩé╬é╗éΩé┼éóéóé±é┼é╖é»é╟é╦^^;
  8. ëⁿâyü[âWæ╬ë₧âLü[é═z,âXâyü[âX,âGâôâ^ü[é╠ÄOé┬é┼é╖üB
  9. âüâ\âbâhé═ê╚ë║üB
  10.  
  11. SetMessageOut(xx,yy,size,w,l,col,speed)
  12. ü@xxü@=ò\Īxì└òWüBèεÅÇé═ò╢ÄÜé╠êΩò╢ÄÜû┌é╠ì╢Åπ
  13. ü@yyü@=ò\Īyì└òWüBèεÅÇé═ò╢ÄÜé╠êΩò╢ÄÜû┌é╠ì╢Åπ
  14. ü@size=ò╢ÄÜâTâCâY
  15. ü@wü@ =êΩìsé╠ì┼æσò\Īò╢ÄÜÉöüBüwò\Īé╡é╜éóò╢ÄÜÉöé╠ô±ö{é╠Ælüxé≡ÄwÆΦé╡é─é¡é╛é│éóüiö╝èpò╢ÄÜæ╬ë₧é╠é╜é▀üj
  16. ü@l   =êΩâyü[âWé╠ì┼æσò\Īò╢ÄÜù±ÉöüBìsÉöé≡ÄwÆΦé╡é─é¡é╛é│éóüBÄwÆΦé═1é⌐éτé┼é╖
  17.   speed =òWÅÇò\Īæ¼ôx
  18.  
  19. MessageOut(_text,_sp)
  20. ü@_text=ò\ĪâeâLâXâg
  21. ü@_sp  =ò\Īæ¼ôxüiÅ╚ù¬ë┬ö\üjüBÅ╚ù¬é│éΩéΘé╞üASetMessageOutè╓Éöé┼É▌ÆΦé╡é╜speedé┼ò\Īé╡é▄é╖üBÉöÄÜé¬æσé½éóé┘é╟ò\Īé¬Æxé¡é╚éΦé▄é╖
  22.  
  23. é┼é═é┼é═üB
  24. */
  25. //ò╢ÄÜò`Ä╩
  26. //x...xì└òW y...yì└òW coment...ò\Īé╖éΘâeâLâXâg color...ò╢ÄÜÉF speed...ò\ĪâXâsü[âh(żé│éóé┘é╟æüéó) size...ò╢ÄÜé╠æσé½é│
  27. function Panel_drawAVGText(x,y,coment,color,_speed[,size]) {
  28.   var n,m,draw,draw2,speed;
  29.   n=0; //nÅëè·ë╗
  30.   if (!_speed) speed=tal_speed;
  31.   else speed=_speed;
  32.   m=speed;
  33.   while(1) { //âïü[âv
  34.     if (m>=speed) {
  35.       draw=coment.substring(0,n); //drawé╔1ò╢ÄÜé╕é┬ôⁿéΩé─éóé¡
  36.       draw2=coment.substring(n-1,n);
  37.       if (n<coment.length()+1) n++; //comenté╠Æ╖é│é▄é┼né≡æ¥éΓé╖
  38.       else break;
  39.       m=0;
  40.     }
  41.     m++;
  42.     if (draw && draw2!=" ") {
  43.       this.panel.drawText(x,y,draw,color,size); //âüâbâZü[âWò\Ī
  44.       update(); //ò`Ä╩
  45.     }
  46.   }
  47. }
  48.  
  49. //(TOF)âeâLâXâgé╠Å┴ïÄ
  50. function TOF() {
  51.   panel.clear();
  52. }
  53.  
  54. function MessageOut(_text,_sp) {
  55.   var _i,_s,_withtext,_maxtext,_page_n,_page,_page_update,_text1,_text2,_text3,_text4,_text_split,_split,_add,_textbyte;
  56.   //èεû{Åεò±üAë║é╠ëⁿìsÅêù¥é╠è╓îWé┼é▒éΩé╛é»é═é«éΩé─éóéΘ
  57.   _withtext=tal_w; //êΩìsé╠ò╢ÄÜù╩é≡É▌ÆΦ
  58.   _s="                                                                      ";
  59.   
  60.   _text_split=_text.split("<br>");
  61.   //_text_split=_text.split("<BR>");
  62.   _text="";
  63.   for (_split=0 ; _split<_text_split.size() ; _split++) {
  64.     
  65.     _textbyte=_text_split.get(_split).byteLength();
  66.     _add=_withtext-(_textbyte-_withtext*(trunc(_textbyte/_withtext)));
  67.     
  68.     _text_split.set(_split,(_text_split.get(_split)+_s.bytesubstring(0,_add)));
  69.     _text=_text + _text_split.get(_split);
  70.     //print(_text_split.get(_split));
  71.   }
  72.   _i=_text.byteLength();
  73.   
  74.   //âyü[âWÉöé╚é╟é╠èεû{Åεò±é≡ĵô╛
  75.   _maxtext=_withtext*tal_h;  //êΩâyü[âWé╠ì┼æσò╢ÄÜù╩é≡É▌ÆΦ
  76.   _page_line=_i/_withtext;//ìsÉöé≡ĵô╛
  77.   _page_n=trunc(_page_line/tal_h+0.5)-1; //âyü[âWÉöé≡ĵô╛
  78.   _page=0;//î╗ì▌é╠âyü[âWö╘ìå
  79.   _page_update=1;//ò╢ÄÜò\Īé≡é╖éΘé⌐é╟éñé⌐üB1é¬ò\Īé┼0é¬ö±ò\Ī
  80.   
  81.   //print("âyü[âWÉö"+_page_n + "î╗ì▌é╠âyü[âWÉö"+_page);
  82.   
  83.   if (!_sp) _speed=1;else _speed=_sp;
  84.   
  85.   while(1) {
  86.     if (_page_update) {
  87.       if (_i>_withtext*0) _text1=_text.bytesubstring(0+_maxtext*_page,_withtext*1+_maxtext*_page);
  88.       if (_text1) Panel_drawAVGText(8,8,_text1,tal_col,_sp,tal_size);
  89.       _text1=null;
  90.       for (l=1 ; l<tal_h && l<_page_line; l++) {
  91.         if (_i>_withtext*l) _text2=_text.bytesubstring(_withtext*l+_maxtext*_page,_withtext*(l+1)+_maxtext*_page);
  92.         if (_text2) {Panel_drawAVGText(8,8+tHeight*l,_text2,tal_col,_sp,tal_size);_text2=null;}
  93.       }
  94.       _page_update=0;
  95.     }
  96.     if (enter && _page<_page_n) {_page++;_page_update=1;TOF();}
  97.     else if (enter && _page>=_page_n) {_page=0;TOF();break;}
  98.     update();
  99.   }
  100.   return;
  101. }
  102.  
  103. function SetMessageOut(xx,yy,size,w,l,col,speed) {
  104.   tWidth=textWidth("ü@",size)+4;
  105.   tHeight=textHeight("ü@",size)+5;
  106.   
  107.   resize(tWidth*w/2+16,tHeight*l+16);
  108.   
  109.   x=310;
  110.   y=405;
  111.   
  112.   tal_x=xx;
  113.   tal_y=yy;
  114.   tal_w=w;
  115.   tal_h=l;
  116.   tal_col=col;
  117.   tal_size=size;
  118.   tal_speed=speed;
  119. }
  120.  
  121. function onUpdate() {
  122.   enter = getkey(13)==1;
  123. }
  124. wait();