?
快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

瑞博國際平臺注冊:C開發WPFSilverlight動畫及游戲系列教程(Game Course):(四)

?

C#開拓WPF/Silverlight動畫及游戲系列教程(Game Course):(四)實現2D人物動畫①

經由過程前面的進修,我們掌握了若何動態創建物體移動動畫,那么接下來我將先容WPF中若何將物體換成2D游戲角色,并經由過程應用前面所講的DispatcherTimer計時器來實現2D人物角色的各類動作動畫。

動態實現2D人物角色動畫今朝有兩種主流措施,下面我會分手進行先容。

第一種措施我稱之為圖片切換法,籌備事情:首先經由過程3DMAX等對象3D襯著2D的措施制作出角色,然后將角色每瑞博國際平臺注冊個動作均導出8個偏向每偏向多少幀的系列圖片(假如是有偏向的邪術圖片,很多2D-MMORPG每每會導出16個偏向的系列幀圖片以求更為逼真),即將每小我物每個動作的各偏向的每幀均存成一張圖片,如下圖僅以從破天一劍游戲中提取的素材為例:

(分外申明:本系列教程所應用的如有注明歸屬權的圖片素材均濫觴于收集,請勿用于商業用途,否則造成的統統后果均與本人無關。)

從上圖可以看到,我將人物向右方跑步共8幀圖片經由過程Photoshop分手將畫布等比例擴大年夜成150*150象素圖片(由于是提取的素材,初始寬和高是不均衡值,以是必須擴大年夜成自己的需求,這樣人物會在圖片中居中,并且為后期加入武器或坐騎留好余地。輕細的偏離也可以在后期進行微調),并將他們從開始到停止分手命名為0.png,1.png,2.png,3.png,瑞博國際平臺注冊4.png,5.png,6.png,7.png(這里還要順帶一提的是,圖片最好背景Alpha透明,否則在算法上還要進行去色,不是畫蛇添足嗎?至于為何是png而不是gif,我這里斟酌到Silverlight今朝只支持png和jpg,為了更多的通用性,當然假如您只用WPF,gif或png均可)。著末在項目中我們新建一個文件夾取名叫Player,然后將這8張圖片保存在該目錄下,到此籌備事情終于停止了,忽忽。。還真夠累的。

接下來便是重頭戲了,若何經由過程純C#來實現動態創建人物跑動動作動畫呢?嘿嘿,且看下面代碼。

int count = 1;

Image Spirit;

public Window4() {

InitializeComponent();

Spirit = new I瑞博國際平臺注冊mage();

Spirit.Width = 150;

Spirit.Height = 150瑞博國際平臺注冊;

Carrier.Children.Add(Spirit);

DispatcherTimer dispatcherTimer = new DispatcherTimer();

dispatcherTimer.Tick += new EventHandler(dispatch瑞博國際平臺注冊erTimer_Tick);

dispatcherTimer.Interval = TimeSpan.FromMilliseconds(150);

dispatcherTimer.Start();

}

private void dispatcherTimer_Tick(object sender, EventArgs e) {

Spirit.Source = new BitmapImage(new Uri(@"Player\" + count + ".png", UriKind.Relative));

count = count == 7 ? 0 : count + 1;

}

免責聲明:以上內容源自網絡,版權歸原作者所有,如有侵犯您的原創版權請告知,我們將盡快刪除相關內容。

您可能還會對下面的文章感興趣:

快三平台开户