有關變量的一些實例
我們已經學習了大量的變量理論,現在,我們將其中的一些用于實踐。下面是三個以變量為中心的代碼樣本實例,請參閱解釋代碼的注釋。
下例將播放頭移動到當前時間軸上的某個隨機幀: var randomFrame; // stores the randomly picked frame number var numFrames; // stores the total number of frames on the timeline numFrames = _totalframes; // assign _totalframes property to numframes
// pick a random frame randomFrame = Math.floor (Math.random () * numFrames +1);
gotoAndStop (randomFrame); // send playhead to choses random frame
下例計算兩個電影剪輯之間的距離: var c; // a convenient reference to the circle clip object var s; // a convenient reference to the square clip object var deltaX; // the horizontal distance between c and s var deltaY; // the vertical distance between c and s var dist; // the total distance between c and s
c = _root.circle; // get reference to the circle clip s = _root.square; // get reference to the square clip deltaX = c._x - s._x; // compute the horizontal distance between the clips deltaY = c._y - s._y; // compute the vertical distance between the clips
// the distance is the root of (deltaX squared plus deltaY squared) dist = Math.sqrt((deltaX * deltaX) + (deltaY * deltaY));
// tidy references are much more readable than the alternative: // dist = Math.sqrt(((_root.circle._x - _root.square._x) * (_root.circle._x - _root.square._x)) // ((_root.circle._ y - _root.square._ y) * (_root.circle._ y - _root.square._ y)));
下例在華氏溫度和攝氏溫度之間轉換: var fahrenheit; // temperature in Fahrenheit var celsius; // temperature in Celsius var convertDirection; // the system we are converting to legal values are "fahrenheit" and "celsius" fahrenheit = 451; // set a Fahrenheit temperature celsius = 20; // set a Celsius temperature convertDirection = "celsius"; // convert to Celsius in this case
if (convertDirection == "fahrenheit") { result = (celsius * 1.8) + 32; // calculate the Celsius value // display the result trace (celsius + " degrees Celsius is " + result + " degrees Fahrenheit."); } else if (convertDirection == "celsius") { result = (fahrenheit - 32) / 1.8; // calculate the Fahrenheit value // display the result trace (fahrenheit + " degrees Fahrenheit is " + result + " degrees Celsius."); } else { trace ("Invalid conversion direction."); }
alvin 的注釋
上述第一個例子中,_totalframe是屬性,Math.floor ()是方法。這些都可以在Flash的幫助文檔中找到,恕不贅述。
第二和第三個例子實際上分別是完整的兩個Flash電影中的代碼段。如果你想要看源代碼,請到moock先生的代碼庫去看看吧。
這些例子沒有什么難以理解的地方,只是變量的實際應用。
出處:藍色理想
責任編輯:無意
上一頁 變量(9)- 局部變量 下一頁 數據和數據類型(1) - 數據對信息
◎進入論壇Flash專欄版塊參加討論
|