我試圖從不同的地方調用一個或多個函數。到目前爲止沒有任何運氣。 這是基本功能。當我按下一個按鈕,它做一些事情: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文件?請使用此信息更新您的問題,而不是回覆此評論。 –
由於使用不同的命令替換函數的工作原理,問題可能不在於您發佈的任何內容,而是在函數本身中。你能發表這些功能的例子嗎? –
好的謝謝!我更新了問題:-) –