我试图从不同的地方调用一个或多个函数。到目前为止没有任何运气。 这是基本功能。当我按下一个按钮,它做一些事情:AS3如何调用现有函数?
button.addEventListener(MouseEvent.CLICK, myFunction1);
function myFunction1(event:MouseEvent):void
{
///dosomeThing1
}
我有一个以上的按钮(myFunction2..3 ... 4 ...等)
,但我想完全一样(myfunction1。 .2等)发生,当我得到一个特定的随机数。 例如,如果随机数= 1 >>>做myfunction1 随机如果编号= 2 >>>做myfunction2
所以我尝试这样: (这个代码为timelineframe的顶部)
function randomRange(minNum:Number, maxNum:Number):Number
{
return (Math.floor(Math.random() * (maxNum - minNum + 1)) + minNum);
}
var myrandomNumber = (randomRange(1, 6))
trace(myrandomNumber); //A number between 1 and 6
if (myrandomNumber == 1) {
myFunction1(null); // i tried this (null) stuff
}
if (myrandomNumber == 2) {
myFunction2(); // i tried also with just braces
}
等
随机数生成是正常的,但我得到的错误时,我想调用一个函数(所有的时间,如果我举一个简单>> smthng.gotoAndStop(x)的指令(而不是函数)这很好)
整个代码是在时间轴框架(无单独的文件)
如果陈述并非内部的任何功能,就像你在这里看到的,它是〜种一个“的onLoad”的东西
该函数的工作原理如果我点击按钮,所以它不能成为我想的问题,只是不知道如何从其他地方调用相同的功能? :-)
有没有人有什么想法? 真的很感激!
请留下的例子! !(新手程序员在这里:-)
感谢 本
更新:
后餐点建议(感谢)我想这一个:下面
function randomRange(minNum:Number, maxNum:Number):Number
{
return (Math.floor(Math.random() * (maxNum - minNum + 1)) + minNum);
}
var myrandom = (randomRange(1, 6))
trace(myrandom); //A number between 10 and 20
if (myrandom == 1) {
wbtungsten():void{
color2.redOffset = 70;
color2.greenOffset = 0;
color2.blueOffset = -100;
szin_wb_cam.szin_wb.transform.colorTransform = color2;
}
}
if (myrandom == 2) {
// another something
}
和几行:
nav_mc.navtungsten.addEventListener(MouseEvent.CLICK, wbtungsten1);
private function wbtungsten1(e:MouseEvent)
{
wbtungsten();
}
在这种情况下,我得到以下错误: 场景1,层'AS3',帧2,行23 1084:语法错误:在分号之前期待rightbrace。 场景1,层'AS3',帧2,行21 1078:标签必须是简单的标识符。场景1,图层'AS3',帧2,线22 1084:语法错误:在点之前期待冒号。
你知道什么错误吗? if语句在哪里?在一个函数里面?这是全部在时间轴上还是不同的.as文件?请使用此信息更新您的问题,而不是回复此评论。 –
由于使用不同的命令替换函数的工作原理,问题可能不在于您发布的任何内容,而是在函数本身中。你能发表这些功能的例子吗? –
好的谢谢!我更新了问题:-) –