Silverlight 遊戲開發小技巧:技能冷卻效果2(Cooldown)2

來源:互聯網
上載者:User
關鍵字 這個 可以 我們 小技巧

可能會奇怪為什麼有來一個第2號版本,其實,這是改進版本,而這個改進版本實現起來更加容易,更加方便,但是問題也是很明顯的,因為會加上一個100多KB的DLL,對於網頁遊戲來說,任何1KB都是寶貴的資源, 就為了這個小效果而平白無故增加XAP的容量,也驗證了有得必有失道理,魚與熊掌應該如何取捨呢,先來看看這個實現方式吧。

前面的建立方式幾乎是一樣的,但是不需要增加那兩個Grid的了,而是直接用一個整個大小的Rect來裁切掉LayoutRoot,

當然了,如果喜歡可以使用Border或者其他的容器做底,現在添加一個圖片作為圖示的底圖,然後在Asset裡找到「Pie」這個控制項。

你可以在提示資訊中知道,要用這個控制項需要Microsoft.Expression.Drawing.dll,而這個就是罪魁禍首,它會無情的進入最後發佈的XAP當中,好了,我們先不糾結這個問題,先往下繼續進行。

添加到控制項中:

然後將外邊邊距擴展出來,這樣才不會讓扇形的圓弧漏在外面,順便我們填充一個半透明的黑色。

我們將Margin都設成了-15,在Pie控制項中,StartAngle是開始的角度,我簡單設置了120,已經和前面的有所不同。

現在製作故事板動畫,方式和原來差不多。

這是一個簡單的動畫,在0秒的時候設置StartAngle為0,在第2秒的時候設置為360,如果你需要各種不同時間長度的,可以做一些調整。

上一篇沒有寫點擊代碼,這次補上,可以依據自己的需求改造,如果我們對UserControl程式設計的話,可以重寫滑鼠的點擊事件。

public partial class SkillIcon : UserControl


{


public SkillIcon()


{


InitializeComponent();


}


protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)


{


ANI_CoolDown.Begin();


base. OnMouseLeftButtonDown(e);


}


}


其實就是執行一下Begin()

在下面的運行效果中,幾乎和第一種完全一樣,這裡就需要做一個對比和取捨,到底是為了方便而犧牲大小,還是為了減少100KB(實際壓縮可能只有50KB)而犧牲製作效率呢。 其實每種方法都可以,只要能夠實現我們的想法。

原始程式碼下載位址如下:點擊直接下載

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.