2014-09-29 28 views
0

那么标题基本上就是这么说的。 我希望能够链接到Flash动画中的提示点Flash提示要点:从网站链接到Flash动画中的特定点

我已经在Google中搜索和搜索,但是我可以看到的所有内容都是从闪存链接到基于查询点的网站。
想法是这样的: 我在Flash中创建了一个包含多种语言的动画。
我想在我的网站上创建多个链接。用户点击他们的语言链接,并在他/她的语言显示的正确“提示”点打开电影。

我认为这可以通过提示点来完成,但我不是真正的Flash专家,无法知道这是如何工作的。 希望别人能为我提供一些可靠的信息!

M.

回答

0

您可以尝试在链接地址中使用变量。这意味着只需在链接网址的末尾添加?lang=eng之类的内容即可。 Flash可以读取该地址(仅来自HTML嵌入),并且具有根据lang=部分之后的内容执行某些操作的代码。

有更好的方法来做到这一点,包括真正的变量解析,但我只是用一个简单的转换浏览器地址转换为字符串,然后提取最后一个(语言)位。只是为了看看这是否也适用。

只用于测试你需要一个MC和两个文本框的舞台上与这些实例名称:

  • txt_url显示完整的浏览器地址
  • txt_lang显示了最终的3个字母的语言代码
  • MC_lang是根据txt_lang更改框架的(您的)动画片段

定制:你可以用这两条线路自定义变量:

var Index_one:int = 5 + int(tempSTR.indexOf("lang="));
这里5是因为lang=有五个字符。当您更改单词时,您必须更改编号以匹配单词/符号长度。
case "eng"必须将语言代码选择匹配(例如:如果你有?lang=english_UK然后再在代码就成了case "english_UK"

import flash.display.MovieClip; 
import flash.external.ExternalInterface; 


var str_url :String = ""; 

get_Language(); 


function get_Language() : void 
{ 
    // GET LANGUAGE 
    var url:String = ExternalInterface.call("window.location.href.toString"); 
    if (url != null) //if is not null 
    { txt_url.text = url; txt_lang.text = get_lang_URL(url); } 

    //SET BY LANGUAGE 
    if (txt_lang.length > 0) //if is not null 
    { 
     switch(txt_lang.text) 
     { 

      case "eng": MC_lang.gotoAndStop(1); break; 
      case "jap": MC_lang.gotoAndStop(2); break; 
      case "bra": MC_lang.gotoAndStop(3); break; 
     } 

    } 

} 

//EXTRACT LANGUAGE VARIABLE FROM ADDRESS 
function get_lang_URL (input_str:String):String 
{ 
    var tempSTR:String = input_str; 
    var finalSTR:String = ""; 

    var Index_one:int = 5 + int(tempSTR.indexOf("lang=")); 
    var Index_two = input_str.length - Index_one; 

    finalSTR = tempSTR.substr(Index_one, Index_two); 
    return finalSTR; 
}