日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Starling 1.3正式发布

發布時間:2024/1/3 综合教程 31 生活家
生活随笔 收集整理的這篇文章主要介紹了 Starling 1.3正式发布 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

新的一年開始了,是時候讓我們的小鳥升級到一個新的版本了,讓它來展示一下過去幾個月中它學習到的新本領吧!
對我們的小鳥來說,2012年是驚人的一年。我特別高興的是,圍繞在小鳥周圍的社區越來越大。您最近關注過論壇嗎?每一天都有幾十個新的帖子,而且這個數字還在不斷增多。非常感謝所有訪問我們網站的人,以及對我們的支持!此外,許多基于Starling編寫的令人吃驚的游戲也發布了很多---看看這些比如,憤怒的小鳥星戰版,聰明的外星人,瘋狂過山車或流氓隊(這是其中的幾個例子)!

最后還有一些重要的事情,基于Starling的擴展和類庫就如雨后春筍般,又如同超級馬里奧游戲里的蘑菇一般,遍地開花!來看看DragonBones,一個2D的骨骼動畫插件。接下來的幾天,Feathers馬上要迎來它的1.0的版本。并且Citrus游戲引擎的每次更新都相當激動人心。

Starling 1.3

言歸正傳,發布這篇博客的主要原因是:一個新的Starling版本誕生了!它包含了很多新的特性,讓它的功能更加強大,同時保持性能像以前一樣的快。我希望您能喜歡新的特性!

濾鏡

Starling的最新版本包含了一個很多人期待已久的特性:濾鏡。他們的工作方式和您之前在Flash中看到的傳統濾鏡非常相似---這意味著您可以直接使用顯示對象的新屬性"filter",并且指定一個濾鏡類的實例。

下面是一個實例來演示如何使用。最上面的幾行顯示了"BlurFilter"的各種用途,底下的幾行顯示了"ColorMatrixFilter"如何使用。

下面是一些源代碼,告訴您如何來做:

// 這個濾鏡可以實現陰影和發光
var blur:BlurFilter = new BlurFilter();
var dropShadow:BlurFilter = BlurFilter.createDropShadow();
var glow:BlurFilter = BlurFilter.createGlow();

//ColorMatrixFilter 包含了很多有用的方法
var colorMatrixFilter:ColorMatrixFilter = new ColorMatrixFilter();
colorMatrixFilter.invert(); // 反轉圖片顏色
colorMatrixFilter.adjustSaturation(-1); // 設置圖片灰度
colorMatrixFilter.adjustContrast(0.75); // 提高對比度
colorMatrixFilter.adjustHue(1); // 改變色調
colorMatrixFilter.adjustBrightness(-0.25); // 降低亮度

// 要使用濾鏡, 只需要設置 "filter"屬性
sprite.filter = anyFilter;

由于濾鏡是由GPU執行的,它們運行的很快。此外,濾鏡的API很容易擴展:只需要一些AGAL代碼,您就可以編寫自己的濾鏡。在接下來的幾天中,我將在WIKI中添加一篇教程來說明如何做到這一點。

動畫增強

在之前我們提到過,Starling的新版優化了事件體系,現在是時候對Tween接口進行一些優化了。

雖然獨立的Tween和Juggler都是非常強大的工具,但有時候確實讓您為了簡單的任務編寫了很多代碼。這就是為什么我要為Juggler添加一個方便的方法,來讓您用更簡練的方式使用Tween。下面是示例代碼:

Starling.juggler.tween(object, 1.5, {
transition: Transitions.EASE_IN_OUT,
repeatCount: 3,
onComplete: function():void { startButton.enabled = true; },
x: 300,
y: 360,
rotation: deg2rad(90)
});

這將從緩存池中獲取一個Tween對象,并將它添加到Juggler中。在{}參數中,簡單地列出您希望為動畫添加的所有屬性,以及Tween本身的屬性。您有沒有在上面的代碼中注意到repeatCount這個屬性?這是Tween類新增加的幾個特性中的一個:

repeatCount和reverse屬性,可以讓您重復執行某個動畫,并設置重復次數(比如一個滑球效果)
nextTween屬性可以讓它和別的Tween建立關聯,執行完自己執行下一個動畫

這些特性的添加既可以讓您減少很多重復代碼,也不犧牲靈活性。

素材管理

每一個游戲或應用程序都需要素材管理---包括它的紋理,聲音,位圖字體,或其它對象。這些資源可以用嵌入的方式(對于瀏覽器游戲來說,將一切集中在一個文件中還是很有道理的),或通過路徑引用它們(手機游戲需要謹慎使用內存)。有太多的方式可以引用您的素材,使得很難有統一的方式來訪問它們。AssetManager可以幫您來做這件事。這個類允許您添加各種各樣的素材,并輕松訪問它們。要開始使用這個新的類,請參考Starling WIKI: 它包含了一篇教程和一些示例代碼。Starling的兩個示例項目,即"Scaffold"和"Demo"使用了這個類。看看這兩個項目,您就明白如何在您的代碼中使用這個類了。

縮放模式

在Stage3D還未到來之前,Flash開發人員使用StageScaleMode來定義舞臺應該顯示在Flash Player的哪個區域中。現在這個特性回來了(Starling中可用了)---至少精神上如此:)。在Starling中,您是通過viewPort這個矩形來定義顯示區域的。現在,一個新的方法,可以讓您通過過去熟知的scaleMode來設置viewPort屬性。比如說,您希望您的游戲可以自動縮放,并且完整填充Flash Player的顯示區域,同時保持寬高比不變(不裁剪任何東西)。您要做的就是在stage上偵聽Event.RESIZE事件,并更新viewPort,就像下面這樣:
private function onResize(event:Event, size:Point):void
{
Starling.current.viewPort = RectangleUtil.fit(
new Rectangle(0, 0, stage.stageWidth, stage.stageHeight),
new Rectangle(0, 0, size.x, size.y),
ScaleMode.SHOW_ALL);
}

如果您使用 NO_BORDER來代替,那么您的游戲就會被裁剪。使用NONE則只是將它在窗體里面居中。這對于移動開發是非常有用的,可以讓您適配各種不同的分辨率。

總結

和往常一樣,一篇博客無法告訴您在這個版本中發生的所有變化。Starling 1.3包含了很多的錯誤修正,和很多小的改進和完善之處。要查看所有的特性列表,請查閱在GitHub上的更新日志。

總結

以上是生活随笔為你收集整理的Starling 1.3正式发布的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。