Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Flash

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: 123 Flash Menu - меню не масштабируется.
 
 автор: boler   (28.08.2012 в 22:48)   письмо автору
 
 

В 123 Flash Menu - создал флеш-меню, но оно не масштабируется на странице. Как с этим бороться?

  Ответить  
 
 автор: cheops   (29.08.2012 в 10:31)   письмо автору
 
   для: boler   (28.08.2012 в 22:48)
 

Масштабировать придется при помощи JavaScript - выставляя соответствующие параметры ширины флешки, в зависимости от ширины окна.

  Ответить  
 
 автор: boler   (29.08.2012 в 20:07)   письмо автору
 
   для: cheops   (29.08.2012 в 10:31)
 

>Масштабировать придется при помощи JavaScript - выставляя соответствующие параметры ширины флешки, в зависимости от ширины окна.
Прошу прощение за делетанство, но хотелось бы услышать поподробнее, плз:) Привожу содержание JavaScript, который был сгенерирован вместе с HTML страничкой.

//
//
function AC_AX_RunContent(){
  var ret = AC_GetArgs(arguments);
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_RunFlashContent(){
  var ret = 
    AC_GetArgs
    (  arguments, "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_RunMMContent(){
  var ret = 
    AC_GetArgs
    (  arguments, "filename", "clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
     , "application/x-mplayer2"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_RunRealContent(){
  var ret = 
    AC_GetArgs
    (  arguments, "src", "clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"
     , "audio/x-pn-realaudio-plugin"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_RunQTContent(){
  var ret = 
    AC_GetArgs
    (  arguments, "src", "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"
     , "video/quicktime"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_Generateobj(objAttrs, params, embedAttrs) 

  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  document.write(str);
}

function AC_GetArgs(args, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    
    switch (currArg){    
/// embed args
      case "pluginspage":
      case "type":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
/// object args
      case "data":
      case "codebase":
      case "classid":
      case "id":
        ret.objAttrs[args[i]] = args[i+1];
        break;
/// common args
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
// special args
      case "src":
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
// params
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }

  if (classid) ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;

  return ret;
}

  Ответить  
 
 автор: elenaki   (30.08.2012 в 10:38)   письмо автору
 
   для: boler   (28.08.2012 в 22:48)
 

может, надо открыть флаш и посмотреть, есть ли там -
Stage.scaleMode = "noScale";

?
в этом случае можно будет масштабировать скриптом извне.

  Ответить  
 
 автор: boler   (30.08.2012 в 11:31)   письмо автору
7.7 Кб
 
   для: elenaki   (30.08.2012 в 10:38)
 

Вот скрипт самой флешки, где 100.swf - имя файла:
<!-- Begin Publishing Scripts of Flash Menu 100 -->
<div id="fm_placeholder_100" style="width: 109px; height: 244px ">
Loading Flash Menu</div><script type="text/javascript" defer>//<![CDATA[
var fm_100 = function() {
  function getPos() {
    var p=[0,0]; var e=document.getElementById('fm_placeholder_100');
    do { p[0]+=e.offsetTop; p[1]+=e.offsetLeft; } while (e=e.offsetParent); return p; }
  function move() {
    var p=getPos(); var m=document.getElementById('fm_wrapper_100'); m.style.top=p[0]+'px'; m.style.left=p[1]+'px'; }
  var create = function() {
    var s; if (document.all && !window.opera) {
      s='<object id="fm_menu_100" width="109px" height="140px" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" '
        +'codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0">'
        +'<param name="quality" value="high" /><param name="scale" value="noscale" /><param name="salign" value="LT" />'
        +'<param name="movie" value="100.swf" /><param name="flashvars" value="callback=fm_100">'
        +'<param name="menu" value="false" /><param name="wmode" value="transparent" /></object>'; }
    else {
      s='<embed type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" '
        +'id="fm_menu_100" width="109px" height="140px" src="100.swf" wmode="transparent" '
        +'flashvars="callback=fm_100" quality="high" scale="noscale" menu="false" salign="LT" />'; }
    var p=getPos(); var m=document.createElement('div'); m.id='fm_wrapper_100'; m.style.position='absolute';
    m.style.zIndex='100'; m.style.top=p[0]+'px'; m.style.left=p[1]+'px'; m.innerHTML=s;
    document.body.insertBefore(m, document.body.firstChild); setInterval(move, 500); }(); 
  return {
    expand: function() { 
      document.getElementById('fm_menu_100').style.width='214px';
      document.getElementById('fm_menu_100').style.height='244px'; },
    collapse: function() {
      document.getElementById('fm_menu_100').style.width='109px';
      document.getElementById('fm_menu_100').style.height='140px';
}};}();//]]></script>
<!-- End Publishing Scripts of Flash Menu 100 -->


Дело в том, что ФОН масштабируется, а вот верхний слой - нет. Дело, видимо, в самой флешке. Пожалуйста, помогите решить проблему!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования