真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

flutter橋,Flutter

跨平臺技術;H5和Flutter誰是未來?

前言

在永春等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都網(wǎng)站建設、做網(wǎng)站 網(wǎng)站設計制作按需求定制網(wǎng)站,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,品牌網(wǎng)站制作,網(wǎng)絡營銷推廣,成都外貿(mào)網(wǎng)站建設公司,永春網(wǎng)站建設費用合理。

為什么跨平臺是發(fā)展趨勢?

同一個應用,各個“端”獨立開發(fā),不僅開發(fā)周期長,而且人員成本高。同時,作為技術人員,也不應該滿足于這種重復、低能的工作狀態(tài)。在這樣的形勢下,跨平臺的技術方案也受到越來越多人和企業(yè)的關注。

本篇文章我將從原理、優(yōu)缺點等方面為大家分享跨平臺技術

一. H5

說到跨平臺,沒人不知道H5。不管是在Mac、Windows、Linux、iOS、Android還是其他平臺,只要給一個瀏覽器,連“月球”上它都能跑。

1.瀏覽器架構

下面,我們來看看讓H5如此橫行霸道的瀏覽器的架構:

瀏覽器由以上7個部分組成,而“渲染引擎”是性能優(yōu)化的重中之重,一起了解其中的渲染原理。

2.渲染引擎原理

不同的瀏覽器內(nèi)核不同,渲染過程會不太一樣,但主要流程還是一致的。

分為下面6步驟:

從以上6步,我們可以總結渲染優(yōu)化的要點:

以上就是瀏覽器端的內(nèi)容。但H5作為跨平臺技術的載體,是如何與不同平臺的App進行交互的呢?這時候JSBridge就該出場了。

3.JSBridge原理

JSBridge,顧名思義,是JS和Native之間的橋梁,用來進行JS和Native之間的通信。

通信分為以下兩個維度:

那么App內(nèi)加載H5的過程是什么樣的呢?

4.App打開H5過程

打開H5分為4個階段:

這四步,對應的過程如上圖所以,我們可以針對性的做性能優(yōu)化。

5.優(yōu)缺點分析

下面,我們進行H5的優(yōu)缺點分析:

優(yōu)點

缺點

雖然H5目前還存在不足,但隨著PWA、WebAssembly等技術的進步,相信H5在未來能夠得到越來也好的發(fā)展。

二.小程序

2018年是微信小程序飛速發(fā)展的一年,19年,各大廠商快速跟進,已經(jīng)有了很大的影響力。下面,我們以微信小程序為例,分析小程序的技術架構。

小程序跟H5一樣,也是基于Webview實現(xiàn)。但它包含View視圖層、App Service邏輯層兩部分,分別獨立運行在各自的WebView線程中。

1.View

可以理解為h5的頁面,提供UI渲染。由WAWebview.js來提供底層的功能,具體如下:

每個窗口都有一個獨立的WebView進程,因此微信限制不能打開超過5個層級的頁面來保障用戶體驗。

2. App Service

提供邏輯處理、數(shù)據(jù)請求、接口調(diào)用。由WAService.js來提供底層的功能,具體如下:

運行環(huán)境:

僅有一個WebView進程

3.View App Service通信

視圖層和邏輯層通過系統(tǒng)層的JSBridage進行通信,邏輯層把數(shù)據(jù)變化通知到視圖層,觸發(fā)視圖層頁面更新,視圖層將觸發(fā)的事件通知到邏輯層進行業(yè)務處理。

4. 優(yōu)缺點分析

優(yōu)點

缺點

既然WebView性能不佳,那有沒有更好的方案呢?下面我們看看React Native。

三.React Native

RN的理念是在不同平臺上編寫基于React的代碼,實現(xiàn)Learn once, write anywhere。

Virtual DOM在內(nèi)存中,可以通過不同的渲染引擎生成不同平臺下的UI,JS和Native之間通過Bridge通信

1.React Native 工作原理

在 React 框架中,JSX 源碼通過 React 框架最終渲染到了瀏覽器的真實 DOM 中,而在 React Native 框架中,JSX 源碼通過 React Native 框架編譯后,與Native原生的UI組件進行映射,用原生代替DOM元素來渲染,在UI渲染上非常接近Native App。

2.React Native 與Native平臺通信

3.優(yōu)缺點分析

優(yōu)點

缺點

4.RN展望

雖然RN還存在不足,但RN新版本已經(jīng)做了如下改進,并且RN團隊也在積極準備大版本重構,能否成為開發(fā)者們所信賴的跨平臺方案,讓我們拭目以待。

既然React Native在渲染方面還擺脫不了原生,那有沒有一種方案是直接操控GPU,自制引擎渲染呢,我們終于迎來了Flutter!

四.Flutter

Flutter是Google開發(fā)的一套全新的跨平臺、開源UI框架,支持iOS、Android系統(tǒng)開發(fā),并且是未來新操作系統(tǒng)Fuchsia的默認開發(fā)套件。渲染引擎依靠跨平臺的Skia圖形庫來實現(xiàn),依賴系統(tǒng)的只有圖形繪制相關的接口,可以在最大程度上保證不同平臺、不同設備的體驗一致性,邏輯處理使用支持AOT的Dart語言,執(zhí)行效率也比JavaScript高得多。

1.Flutter架構原理

2.Dart優(yōu)勢

很多人會好奇,為什么Flutter要用Dart,而不是用JavaScript開發(fā),這里列下Dart的優(yōu)勢

3.優(yōu)缺點分析

優(yōu)點

缺點

求土木工程外國文獻書名

哪方面的資料啊,給個關鍵詞才好找啊

這里有相關的一些文獻,大多都是論文文獻,不知道有沒有書,前面有點雜,后面大部分都是關于橋梁的

[2] Kim W,EIHussein M. Variation of fracture toughness of asphalt concrete under low strain .Construction and Building Materials, 1977, 11(4) :403-411 .

[3] Park S W,Kim Y R,Schapery R A. A viscoelastic conti-nuum damage model and its application to uniaxial behaviorof asphalt concrete .Mechanics of Material, 1996, 24(4) :241-255 .

[4] Tsiatas G,Palmquist S M. Fatigue evaluation of highway bridges .Probabilistic Engineering Mechanics, 1999, 14 :189-194 .

[5] Li Z X,Chan T H T,Ko J M. Fatigue damage model for bridge under traffic loading:application made to Tsing Ma Bridge .Theoretical and Applied Fracture Mechanics, 2001, 35(1) :81-91 .

[1] AASHTO. Guide Specification and Commentary for Vessel Collision Design of Highway Bridges[S] .Washington D.C: American Association of State Highway and Transportation Officials, 1991, .

[2] Vrouwenvelder A C W M. Design for ship impact according to Eurocode1,Part2.7[C] .Ship Collision Analysis. 1998, :123-131 .

[3] Kunz C U. Ship bridge collision in river traffic,analysis and design practice[C] .Ship Collision Analysis. 1998, :13-21 .

[4] Pedersen P T,Zhang S. The mechanics of ship impacts against bridge[C] .Proceeding of Int.Symposium Advances on Ship Collision Analysis. Copenhagen. 1998, .

[5] Menzies J B. Bridge Failures,Hazards and Societal Risk[C] .International Symposium on the Safety of Bridges. London. 1996, .

[6] Curbach M,Nitzsche W M,Proske D. The Safety of Bridges in Comparison to Other Risks[R] ..

[7] Mastaglio L. Bridge bashing .Civil Engineering, 1997, 67(4) :38-40 .

[8] Vrouwenvelder T. Stochastic Modeling of Extreme Action Events in Structural Engineering .Probabilistic Engineering Mechanics, 2000, 15(1) :109-117 .

[9] CIRIA. Ration alisation of Safety Factors and Serviceability Factors in Structural Codes CIRIA Report63 .London, 1977, .

[1] Khalifa M A. Parametric study of cable-stayed bridge response due to traffic-induced vibration .Computer and Structure, 1993, 47(2) :321 339 .

[2] Yener M, Chompooming K. Numerical method of lines for analysis of vehicle-bridge dynamic interaction .Computer and Structure, 1994, 53(3) :709 726 .

[3] Shan D S, Li Q. Numerical simulation of the bridgesvehicles coupled vibration and the software package .Journal of Southwest Jiaotong University, 1999, 34(6) :663 667 .

[4] Green M F, Cebon D. Dynamic interaction between heavy vehicle and highway bridges .Computer and Structure, 1997, 62(2) :253 264 .

[5] Fu C C, Hsu Y T. The development of an improved curvilinear thin-wall vlasov element .Computer and Structure, 1995, 54(1) :147 159 .

[6] Wang T L. Impact in a railway truss bridge .Computer and Structure, 1993, 49(6) :1045 1054 .

[7] Tanabe M, Yamada Y, Wakui H. Modal method for interaction of train and bridge .Computer and Structure, 1986, 27(1) :119 127 .

[8] Chompooming K, Yener M. The influence of roadway surface iIrregularities and vehicle deceleration on bridge dynamic using the method of lines .Journal of Sound and Vibration, 1995, 183(4) :567 589 .

[9] Chu K H, Grag V K, Wiriyachai A. Dynamic interaction of railway train and bridge .Vehicle System Dynamics, 1980, 9(4) :207 236 .

[1] G. N. Vanderplaats. Thirty Years of Modern Structural Optimization .Advances in Engineering Software, 1993, (16) :81-88 .

[2] Gang Li, Ren-Gen Zhou, Lian Duan, Wai-Fah Chen. Multiobjective and Multilevel Optimization for Steel Frame .Engineering Structure, 1999, (21) :519-529 .

[3] Cho, H. N. et al. Reliability-Based Optimization of Continuous Steel Box Girder Bridges .Journal of the Korean Society of Civil Engineers, 1999, 19 (1-3) :397-406 .

[4] Cohn, M. Z. ,and Dinovitzer A.S. Application of Structural optimization .Journal of Structural Engineering, 1994, 120 (2) :617-650 .

[5] Sahin, Mehmet A. The Specification and Comparison of Methodologies for the Automated Minimum Cost Design of Horizontally Curved Girder Bridge Structures .Univ. of Maryland, 1985 .

[6] Al-Gahtain, Ahmed. Optimum Design of Welded I-Beams Subjected to Highway Bridge Loads .Univ. of Iowa, 1986 .

[7] Memari, A. M, West, H, and Belegundu, A. Methodology for Automation of continuous Highway Bridge Design .Journal of Structural Engineering, 1991, Vol. 117 (No.9) .

[8] Al-Shaleh,Khaled Saad. Optimum Design of Straight Steel Box Girder Bridges .Georgia Institute of Technology, 1994 .

[1] Rahal K N,Collins M P. Analysis of sections subjected tocombined shear and torsion-a theoretical mode[l J] .ACI Struct.J, 1995, 92 (4) :459-469 .

[2] Vecchil F J, Collins M P. The Modified Compression-Field Theory for Reinforced Concrete Elements Subjected to Shear .ACI Structural Journal. 1986, (2) .

[3] Pandit G S,Mawal M B. Tests of concrete columns in torsion[J] .Journal of the Structural Division,ASCE, 1973, 99 (7) :1409-1421 .

[4] Abdeldjelil Belarbi , Thomas T C Hsu. Constitutive laws of concrete in tension and reinforcing bars stiffened by concrete .ACI Structural Journal. 1994, 91(4) :465-474 .

[5] Bishara A,Peir J C. Reinforced concrete rectangular columnsin torsion[J] .Journal of the Structural Division,ASCE, 1968, 94 (12) :2913-2933 .

[1] Fahmi H M,Bresler B,Polivka M. Prediction of Creep ofConcrete at Variable Temperatures[J] .ACI Journal Proceed-ings, 1973, 70 (10) :709-716 .

[2] Takács P F. Deformations in Concrete Cantilever Brihbfges:Observations and Theoretical Modelling[D] .Trondheim: Norwegian University of Science and Technology, 2002 .

[3] Li Xianping,Robertson I N. Long-term PerformancePredictions of the North Halawa Valley Viaduct[R] .Honolulu: University of Hawaii, 2003, :1-203 .

[4] Neville A M,Dilger W H,Brooks J J. Creep of Plain andStructural Concrete[M] .LondonNew York: ConstructionPress, 1983, :1-50 .

[5] VLADIM R KR STEK,et al. Box girder bridge deflections[J] .ACIConcrete International, 2006, 28 (1) :55-63 .

[6] Lam Jianping. Evaluation of Concrete Shrinkage and CreepPrediction Models[D] .San José: San JoséState University, 2002 .

[1] Jens H. Walther, Allan Larsen. Two dimensional discrete vortex method for application to bluff aerodynamics .Journal of Wind Engineering and Industrial Aerodynamics. 1997, 6768 :183-193 .

[2] Scanlan R. H, Tomko J J. Airfoil and Bridge Deck Flutter Derivatives .Journal of Engineering Mechanics Division, ASCE. 1971, 97(6) :1717-1737 .

[3] Scanlan R H, Lin W H. Effects of turbulence on bridge flutter derivatives .Journal of Engineering Mechanics - ASCE. 1978, 104(4) :715-733 .

[4] AgarTJ. AerodynamicFlutterAnalysisofSuspensionBridgesbyaModelTechnique .Engineering Structures. 1989, 11(2) .

[5] Ge Y J, Tanaka H. Aerodynamic flutter analysis of cable-supported bridges by multi -mode and full -mode approaches .Journal of Wind Engineering and Industrial Aerodynamics. 2000, 86 :123-153 .

[6] Larsen A, Walther J. H. Aeroelastic analysis of bridge girder sections based on discrete vortex simulations .Journal of Wind Engineering and Industrial Aerodynamics. 1997, 6768 :253-265 .

[7] Ge Y J. Probability-based assessment and full-mode flutter analysis of cable-supported bridges against aerodynamic forces .Ottawa: University of Ottawa, 1999, .

[8] Theodorsen T. General theory of aerodynamic instability and the mechanism of flutter .NACA report No.496[R]. Langley: U.S.National Advisory Committee for Aeronautics, 1935, .

[9] Jones N P,Scanlan R H. Issues in the multi-mode aerodynamic analysis of cable-stayed bridges .Proceedings of anInternortional Workshop on Technology for Hong Kong‘s Infrastructurne Development. Hong Kong: Commercial Press, 1991, :281-290 .

[10] Miyata T,Yamada H,Boonyapingo V,et al. Analytical investigation on the response of a very long suspension bridge under gusty wind .Proceedings of the9th ICWE. New Delhi: International Conference on Web Engineering, 1995, :1006-1017 .

[11] King J P C,Davenport A G,Larose G L. A study of wind effects for the storeb lt bridge tender design .BLWT-SS31-1991. Denmark: BLWTL Research Report, 1991, .

[12] Matsumoto M. On flutter of bluff-bodies .Proceedings of the80th Birthday Symposium in Honor of Prof.R.H.Scanlan. Baltimore: John Hopkins University, 1994, :285-294 .

[13] Walther J H. Discrete vortex method for two-dimensional flow past bodies of arbitrary shape undergoing prescribed rotary and translational motion[D] .Lyngby: Department of Fluid Mechanics,Technical University of Denmark, 1994 .

[14] Singh L,Jones N P,Scanlan R H,et al. Simultaneous identification of3-D aeroelastic parameters .Proceedings of the9th ICWE. New Delhi: International Conference on Web Engineering, 1995, .

Flutter浪潮下的音視頻研發(fā)探索

文/陳爐軍

整理/LiveVideoStack

大家好,我是阿里巴巴閑魚事業(yè)部的陳爐軍,本次分享的主題是Flutter浪潮下的音視頻研發(fā)探索,主要內(nèi)容是針對閑魚APP在當下流行的跨平臺框架Flutter的大規(guī)模實踐,介紹其在音視頻領域碰到的一些困難以及解決方案。

分享內(nèi)容主要分為四個方面,首先會對Flutter有一個簡單介紹以及選擇Flutter作為跨平臺框架的原因,其次會介紹Flutter中與音視頻關系非常大的外接紋理概念,以及對它做出的一些優(yōu)化。之后會對閑魚在音視頻實踐過程中碰到的一些Flutter問題提出了一些解決方案——TPM音視頻框架。最后是閑魚Flutter多媒體開源組件的介紹。

Flutter

Flutter是一個跨平臺框架,以往的做法是將音頻、視頻和網(wǎng)絡這些模塊都下沉到C++層或者ARM層,在其上封裝成一個音視頻的SDK,供UI層的PC、iOS和Android調(diào)用。

而Flutter做為一個UI層的跨平臺框架,顧名思義就是在UI層也實現(xiàn)了一個跨平臺開發(fā)??梢灶A想的是未Flutter發(fā)展的好的話,會逐漸變?yōu)橐粋€從底層到UI層的一個全鏈路的跨平臺開發(fā),技術人員分別負責SDK和UI層的開發(fā)。

在Flutter之前已經(jīng)有很多跨平臺UI解決方案,那為什么選擇Flutter呢?

我們主要考慮性能和跨平臺的能力。

以往的跨平臺方案比如Weex,ReactNative,Cordova等等因為架構的原因無法滿足性能要求,尤其是在音視頻這種性能要求幾乎苛刻的場景。

而諸如Xamarin等,雖然性能可以和原生App一致,但是大部分邏輯還是需要分平臺實現(xiàn)。

我們可以看一下,為什么Flutter可以實現(xiàn)高性能:

原生的native組件渲染以IOS為例,蘋果的UIKit通過調(diào)用平臺自己的繪制框架QuaztCore來實現(xiàn)UI的繪制,圖形繪制也是調(diào)用底層的API,比如OpenGL、Metal等。

而Flutter也是和原生API邏輯一致,也是通過調(diào)用底層的繪制框架層SKIA實現(xiàn)UI層。這樣相當于Flutter他自己實現(xiàn)了一套UI框架,提供了一種性能超越原生API的跨平臺可能性。

但是我們說一個框架最終性能怎樣,其實取決于設計者和開發(fā)者。至于現(xiàn)在到底是一個什么狀況:

在閑魚的實踐中,我們發(fā)現(xiàn)在正常的開發(fā)沒有特意的去優(yōu)化UI代碼的情況下,在一些低端機上,F(xiàn)lutter界面的流暢性是比Native界面要好的。

雖然現(xiàn)在閑魚某些場景下會有卡頓閃退等情況,但是這是一個新事物發(fā)展過程中的必然問題,我們相信未來性能肯定不會成為限制Flutter發(fā)展的瓶頸的。

在閑魚實踐Flutter的過程中,混合棧和音視頻是其中比較難解決的兩個問題,混合棧是指一個APP在Flutter過程中不可能一口氣將所有業(yè)務全部重寫為Flutter,所以這是一個逐步迭代的過程,這期間原生native界面與Flutter界面共存的狀態(tài)就稱之為混合棧。閑魚在混合棧上也有一些比較好的輸出,例如FlutterBoost。

外接紋理

在講音視頻之前需要簡要介紹一下外接紋理的概念,我們將它稱之為是Flutter和Frame之間的橋梁。

Flutter渲染一幀屏幕數(shù)據(jù)首先要做的是,GPU發(fā)出的VC信號在Flutter的UI線程,通過AOT編譯的機器碼結合當前Dart Runtime,生成Layer Tree UI樹,Layer Tree上每一個葉子節(jié)點都代表了當前屏幕上所需要渲染的每一個元素,包含了這些元素渲染所需要的內(nèi)容。將Layer Tree拋給GPU線程,在GPU線程內(nèi)調(diào)用Skia去完成整個UI的渲染過程。Layer Tree中有PictureLayer和TextureLayer兩個比較重要的節(jié)點。PictureLayer主要負責屏幕圖片的渲染,F(xiàn)lutter內(nèi)部實現(xiàn)了一套圖片解碼邏輯,在IO線程將圖片讀取或者從網(wǎng)絡上拉取之后,通過解碼能夠在IO線程上加載出紋理,交給GPU線程將圖片渲染到屏幕上。但是由于音視頻場景下系統(tǒng)API太過繁多,業(yè)務場景過于復雜。Flutter沒有一套邏輯去實現(xiàn)跨平臺的音視頻組件,所以說Flutter提出了一種讓第三方開發(fā)者來實現(xiàn)音視頻組件的方式,而這些音視頻組件的視頻渲染出口,就是TextureLayer。

在整個Layer Tree渲染的過程中,TextureLayer的數(shù)據(jù)紋理需要由外部第三方開發(fā)者來指定,可以把視頻數(shù)據(jù)和播放器數(shù)據(jù)送到TextureLayer里,由Flutter將這些數(shù)據(jù)渲染出來。

TextureLayer渲染過程:首先判斷Layer是否已經(jīng)初始化,如果沒有就創(chuàng)建一個Texture,然后將Texture Attach到一個SufaceTexture上。

這個SufaceTexture是音視頻的native代碼可以獲取到的對象,通過這個對象創(chuàng)建的Suface,我們可以將視頻數(shù)據(jù)、攝像頭數(shù)據(jù)解碼放到Suface中,然后Flutter端通過監(jiān)聽SufaceTexture的數(shù)據(jù)更新就可以順利把剛才創(chuàng)建的數(shù)據(jù)更新到它的紋理中,然后再將紋理交給SKIA渲染到屏幕上。

然而我們?nèi)绻枰肍lutter實現(xiàn)美顏,濾鏡,人臉貼圖等等功能,就需要將視頻數(shù)據(jù)讀取出來,更新到紋理中,再將GPU紋理經(jīng)過美顏濾鏡處理后生成一個處理后的紋理。按Flutter提供的現(xiàn)有能力,必須先將紋理中的數(shù)據(jù)從GPU讀出到CPU中,生成Bitmap后再寫入Surface中,這樣在Flutter中才能順利的更新到視頻數(shù)據(jù),這樣做對系統(tǒng)性能的消耗很大。

通過對Flutter渲染過程分析,我們知道Flutter底層需要渲染的數(shù)據(jù)就是GPU紋理,而我們經(jīng)過美顏濾鏡處理完成以后的結果也是GPU紋理,如果可以將它直接交給Flutter渲染,那就可以避免GPU-CPU-GPU這樣的無用循環(huán)。這樣的方法是可行的,但是需要一個條件,就是OpenGL上下文共享。

OpenGL

在說上下文之前,得提到一個和上線文息息相關的概念:線程。

Flutter引擎啟動后會啟動四個線程:

第一個線程是UI線程,這是Flutter自己定義的UI線程,主要負責GPU發(fā)出的VSync信號時候用當前Dart編譯的機器碼和當前運行環(huán)境創(chuàng)建出Layer Tree。

還有就是IO線程和GPU線程。和大部分OpenGL處理解決方案中一樣,F(xiàn)lutter也采取一個線程責資源加載,一部分負責資源渲染這種思路。

兩個線程之間紋理共享有兩種方式。一種是EGLImage(IOS是 CVOpenGLESTextureCache)。一種是OpenGL Share Context。Flutter通過Share Context來實現(xiàn)紋理共享,將IO線程的Context和GPU線程的Context進行Share,放到同一個Share Group下面,這樣兩個線程下資源是互相可見可以共享的。

Platform線程是主線程,F(xiàn)lutter中有一個很奇怪的設定,GPU線程和主線程共用一個Context。并且在主線程也有很多OpenGL 操作。

這樣的設計會給音視頻開發(fā)帶來很多問題,后面會詳細說。

音視頻端美顏處理完成的OpenGL紋理能夠讓Flutter直接使用的條件就是Flutter的上下文需要和平臺音視頻相關的OpenGL上下文處在一個Share Group下面。

由于Flutter主線程的Context就是GPU的Context,所以在音視頻端主線程中有一些OpenGL操作的話,很有可能使Flutter整個OpenGL被破壞掉。所以需要將所有的OpenGL操作都限制在子線程中。

通過上述這兩個條件的處理,我們就可以在沒有增加GPU消耗的前提下實現(xiàn)美顏和濾鏡等等功能。

TPM

在經(jīng)過demo驗證之后,我們將這個方案應用到閑魚音視頻組件中,但改造過程中發(fā)現(xiàn)了一些問題。

上圖是攝像頭采集數(shù)據(jù)轉換為紋理的一段代碼,其中有兩個操作:首先是切進程,將后面的OpenGL操作都切到cameraQueue中。然后是設置一次上下文。然后這種限制條件或者說是潛規(guī)則往往在開發(fā)過程中容易被忽略的。而這個條件一旦忽略后果就是出現(xiàn)一些莫名其妙的詭異問題極難排查。因此我們就希望能抽象出一套框架,由框架本身實現(xiàn)線程的切換、上下文和模塊生命周期等的管理,開發(fā)者接入框架以后只需要安心實現(xiàn)自己的算法,而不需要關心這些潛規(guī)則還有其他一些重復的邏輯操作。

在引入Flutter之前閑魚的音視頻架構與大部分音視頻邏輯一樣采用分層架構:

1:底層是一些獨立模塊

2:SDK層是對底層模塊的封裝

3:最上層是UI層。

引入Flutter之后,通過分析各個模塊的使用場景,我們可以得出一個假設或者說是抽象:音視頻應用在終端上可以歸納為視頻幀解碼之后視頻數(shù)據(jù)幀在各個模塊之間流動的過程,基于這種假設去做Flutter音視頻框架的抽象。

咸魚Flutter多媒體開源組件

整個Flutter音視頻框架抽象分為管線和數(shù)據(jù)的抽象、模塊的抽象、線程統(tǒng)一管理和上下文同一管理四部分。

管線,其實就是視頻幀流動的管道。數(shù)據(jù),音視頻中涉及到的數(shù)據(jù)包括紋理、Bit Map以及時間戳等。結合現(xiàn)有的應用場景我們定義了管線流通數(shù)據(jù)以Texture為主數(shù)據(jù),同時可以選擇性的添加Bit Map等作為輔助數(shù)據(jù)。這樣的數(shù)據(jù)定義方式,避免重復的創(chuàng)建和銷毀紋理帶來的性能開銷以及多線程訪問紋理帶來的一些問題。也滿足一些特殊模塊對特殊數(shù)據(jù)的需求。同時也設計了紋理池來管理管線中的紋理數(shù)據(jù)。

模塊:如果把管線和數(shù)據(jù)比喻成血管和血液,那框架音視頻的場景就可以比喻成器官,我們根據(jù)模塊所在管線的位置抽象出采集、處理和輸出三個基類。這三個基類里實現(xiàn)了剛才說的線程切換,上下文切換,格式轉換等等共同邏輯,各個功能模塊通過集成自這些基類,可以避免很多重復勞動。

線程:每一個模塊初始化的時候,初始化函數(shù)就會去線程管理的模塊去獲取自己的線程,線程管理模塊可以決定給初始化函數(shù)分配新的線程或者已經(jīng)分配過其他模塊的線程。

這樣有三個好處:

一是可以根據(jù)需要去決定一個線程可以掛載多少模塊,做到線程間的負載均衡。第二,多線程并發(fā)式能夠保證模塊內(nèi)的OpenGL操作是在當前線程內(nèi)而不會跑到主線程去,徹底避免Flutter的OpenGL 環(huán)境被破壞。第三,多線程并行可以充分利用CPU多核架構,提升處理速度。

從Flutter端修改Flutter引擎將Context取出后,根據(jù)Context創(chuàng)建上下文的統(tǒng)一管理模塊,每一個模塊在初始化的時候會獲取它的線程,獲取之后會調(diào)用上下文管理模塊獲取自己的上下文。這樣可以保證每一個模塊的上下文都是與Flutter的上下文進行Share的,每個模塊之間資源都是共享可見的,F(xiàn)lutter和音視頻native之間也是互相共享可見的。

基于上述框架如果要實現(xiàn)一個簡單的場景,比如畫面實時預覽和濾鏡處理功能,

1:需要選擇功能模塊,功能模塊包括攝像頭模塊、濾鏡處理模塊和Flutter畫面渲染模塊,

2:需要配置模塊參數(shù),比如采集分辨率、濾鏡參數(shù)和前后攝像頭設置等,

3:在創(chuàng)建視頻管線后使用已配置的參數(shù)創(chuàng)建模塊

4:最后管線搭載模塊,開啟管線就可以實現(xiàn)這樣簡單的功能。

上圖為整個功能實現(xiàn)的代碼和結構圖。

結合上述音視頻框架,閑魚實現(xiàn)了Flutter多媒體開源組件。

組要包含四個基本組件分別是:

1:視頻圖像拍攝組件

2:播放器組件

3:視頻圖像編輯組件

4:相冊選擇組件

現(xiàn)在這些組件正在走內(nèi)部開源流程。預計9月份,相冊和播放器會實現(xiàn)開源。

后續(xù)展望和規(guī)劃

1:實現(xiàn)開頭所說的從底層SDK到UI的全鏈路的跨端開發(fā)。目前底層框架層和模塊層都是各個平臺各自實現(xiàn),反而是Flutter的UI端進行了跨平臺的統(tǒng)一,所以后續(xù)會將底層也按照音視頻常用做法把邏輯下沉到C++層,盡可能的實現(xiàn)全鏈路跨平臺。

2:第二部分內(nèi)容為開源共建,閑魚開源的內(nèi)容不僅包括拍攝、編輯組件,還包括了很多底層模塊,希望有開發(fā)者在基于Flutter開發(fā)音視頻應用時可以充分利用閑魚開源出的音視頻模塊能力,搭建APP框架,開發(fā)者只要去負責實現(xiàn)特殊需求模塊就可以,盡可能的減少重復勞動。

PSP版的洛克人之龐大的遺產(chǎn)

我把全篇功略貼出來你自己查一下

發(fā)行商/制造商:CAPCOM

游戲類型:ARPG

發(fā)售日期:發(fā)售中

機種:PS

游戲要點

在游戲中,ROCK當然會遇上有很多不同的事情,而其中可能有一些大家并未清楚的,尤其是初次玩這游戲系列的朋友,所以筆者特意為大家介紹一下進行時需要注意的地方。

戰(zhàn)斗

戰(zhàn)斗中,為了能準確地擊中敵人,所以游戲準備了R2掣來進行LOCK ON敵人,當ROCK將敵人鎖定時,橫移的話就會繞著敵人而行,這樣可以進行繞圈攻擊。如果想在多個敵人中,攻擊指定敵人就要按多幾次R2掣令LOCK ON符號落該敵人身。

特殊武器

ROCK除了左手的Buster之外,游戲中還會有特殊武器作攻擊之用,而他們都有不同效果。不過要擁有它們就必須將從迷宮和村莊中拾回來,或JUNK店購得的開發(fā)品交給ROLL開發(fā)。ROCK身上每次只可以攜帶一件,更換裝備需要到ROLL進行。每件特殊武器最初開發(fā)時,威力會非常有限,而只要強化威力就會增加,但代價就是昂貴的費用。

補給

游戲進行的時候,玩者不時都會遇上強橫的敵人,令到ROCK的體力和特殊武器Energy都會被減或消耗,而回復水晶只能回復小部份時,就需要利用在JUNK臺購得的Energy容器進行回復,不過它們在使用后是不會自動補充,因此必需到JUNK店進行補給。

拿起

平時,△掣都是使用特殊武器的按鈕。如果將特殊移除,△掣就會變成拿起物品的動作。拿起物品的主要用途是將物品作高臺,而如果拿起的是敵人,可以在投出時令其產(chǎn)生大傷害。此外,還有一些EVENT需要利用這個動作通過。

OPENING

在SULPHUR?BOTTOM的休息室?,巴利路正在望著窗外風景,而米拿進入休息室想與巴利路傾談今次旅程。當米拿看見他拿?他女兒兩夫婦的合照時,便知道巴利路正為十年前女兒兩夫婦在禁斷之地罹難的事而感到悶悶不樂。在米拿說完后,便走出門外準備記者會的事宜,而巴利路亦在放下照片后走到會場。

在記者會開始后,米拿便開始講解這次偉大的旅程。不過米拿卻估不到三大盜賊團的頭目都已記者的身份潛入會場內(nèi),聽取米拿所說的偉大遺產(chǎn)消息,雖然之前他們已經(jīng)洗手不干,但今次因為不同的原因而再次復出。

米拿在介紹巴利路博士給傳媒認識之后,便向記者展示他們在三十年前所發(fā)現(xiàn)的遺產(chǎn),而米拿背后的屏障亦隨即打開,在各人面前出現(xiàn)了一個巨大的氣流旋渦。

同一時間,在另一面的FLUTTER號,ROLL懶洋洋地躺在梳化上,而ROCK就拿著剛剛早餐從廚房走出來。當早餐放上茶幾后,ROCK便走到電視機前轉臺看看,而ROCK亦發(fā)現(xiàn)轉播的遺產(chǎn)記者會。不過ROLL卻沒有反應的起床,而且亦對早餐提不起興趣。

米拿在發(fā)表今次旅程的目的之后,亦到了傳媒發(fā)問的時候。開始不久,便有一只戴有古怪圖案手飾的手舉起,原來是一位金發(fā)的女記者,而就她問米拿“何謂偉大的遺產(chǎn)”,米拿便答“偉大的遺產(chǎn)就是對人類有益的東西,例如:新能源”。之后該女記者就表示自己叫瑪智露達,令巴利路博士便立刻記起其名字與女兒相同,本想走近了解她是不是自己的女兒,不過突然有另一名女記者指出瑪智露達是假裝進場。瑪智露達便告訴所有傳媒知道“偉大的遺產(chǎn)可能是巨大的災禍”。當她說出“卡先生”后,其背后的玻璃便隨打破,瑪智露達跳上了一只白色的飛船上。

當ROLL聽到金發(fā)記者的名字時,便認為她可能是其母親,不過又不太肯定,所以ROCK提議ROLL一起去證實一下。

EVENT攻略1~序章

為了證實碼智露是否ROLL的母親而決定出發(fā)的ROCK在ROLL換工作服時暫代掌舵,不過DATA卻在ROCK的面前舞來舞去,令ROCK不能看到前面環(huán)境,而感到害怕和無奈。當ROLL走進駕駛室,剛才危機才能消失。ROLL在叫DATA離開駕駛室后,她便握回拳舵,而且向ROCK說聲多謝,多謝他一直以來的幫忙。ROCK突然嗅到燒焦味,而又聽到DATA的叫聲,ROCK二人看見DATA被困火海中。于是ROCK便裝上滅火器走到第二層的走廊。

MISSION 1~滅火

今次ROCK的目的就是撲滅船艙內(nèi)發(fā)生的火警,要使用特別武器來滅火。這個MISSION的路線會由第二層的走廊開始→客廳→廚房,而必須將每一個火種熄滅才可以走進另一

房間。這個MISSION的后果將會影響維修FLUTTER號的費用。

畫面右方的Energy計代表連續(xù)射出滅火劑的數(shù)量,當按緊△掣射出滅火劑時,Energy計便會減少,而放開△掣時,Energy計才得以回復。

DATA在廚房會被火舌燒傷,所以救火之余,亦要撲滅DATA身上的火。

EVENT攻略2~降落船的材料

解決火警事件之后,鏡頭便回到SULPHUR.BOTTOM之內(nèi)。米拿在經(jīng)過之前的混亂事件后,便聘請了三大盜賊團之一的幫家進行保護工作,跟著米拿便命令將SULPHUR.BOTTOM移到旋渦之內(nèi)。當依然在空中徘徊的瑪智露達看到米拿仍想進入禁斷之地時,便叫卡加攻擊SULPHUR.BOTTOM。米拿在得到保護而安心時,警報器突然響起來,令心情再次變得緊張起來。瑪智露達的攻擊令到SULPHUR.BOTTOM的推進器失去了部份功能,而被迫降落到立即在禁斷之地。ROCK他們知道這事后,便不能和SULPHUR.BOTTOM會合,只好暫時肂落在Karinca半島的Yooshyonca村莊,收集制造用來降落禁斷之地的特殊降落船材料。當ROCK他們到達Yooshyonca村莊時,便立刻走到村莊內(nèi)的JUNK店找材料。

在JUNK店內(nèi),ROCK二人便看見一個裝上一了只機械手臂的男子正在買零件。那男子離開時,ROLL發(fā)覺曾經(jīng)好像見過你。當ROCK將降落船的設計圖給老板看看時,老板便問ROCK二人是不是認識剛剛離開的袓,因為設計圖與阿袓相的相同。不過這張設計圖是由他父親,亦只有她和父親才會擁有,所以ROLL便沖出店外找尋袓的下落。

當ROCK走到停泊FLUTTER號附近的袓實驗室。當中原來真的有ROLL想制造的降落船,而袓的女兒便告訴ROCK二人袓現(xiàn)在已入了Yooshyonca廢坑,于是ROCK和ROLL便向廢坑進發(fā)。

老板看看時,老板便問ROCK二人是不是認識剛剛離開的袓,因為設計圖與阿袓的相同。不過這張設計圖是由她父親,亦只有她和父親才會擁有,所以ROLL便沖出店外尋找袓的下落。

EVENT攻略3~袓到底是誰?

當ROCK和ROLL知道袓進入了Yooshyonca廢坑后,便立即走出門外,通過與村莊入口相反方向的閘門。在雪地之上,ROCK二人便會遇上埋藏雪地下的敵人,而廢坑的入口就在橋的正前方,只要通過鐵路橋之后,向前走便可以找到。不過廢坑入口附近會多一個入口,只可以到廢坑入口后面的懸崖。

進入廢坑后,ROLL便會帶ROCK走到可以到達下層的升降臺。不過ROCK就可以先到地圖上方開啟寶箱。ROCK載搭升降機A抵達地下2階,而當中會有數(shù)只似神像的敵人,接近他們時會放出一個電罩包圍自己,而較遠曷側會放出一個有追尾效果的慢速電球,玩者最好以在未進入攻擊時開始攻擊。在打BOSS之前最好取得廢坑內(nèi)所有道具,因為將BOSS打倒后,便會立即回到Yooshyonca村莊,不過打開寶箱后要小心有敵人從天而降。ROCK終于在地下3階的BOSS房間前找到袓,不過他受了傷。袓在暈到前,拜托ROCK盡快將里面的家伙解決,因為他取回力量,就會走出廢坑外四處破壞。

BOSS-剎以華

巨大機械力的剎以華以揮動長長手臂,或以拳頭轟向地面來攻擊。由于他每次攻擊都會站在一個位置上發(fā)動,所以ROCK可以以跳躍輕易避開。攻擊方面可利用繞圈的方式進行,而它的弱點就是臂部位置。

EVENT攻略4~闖進禁斷之地

當ROCK將剎以華擊倒而走出門外后,便見到ROLL已經(jīng)在袓的身旁。由于看見袓的傷勢不輕,所以ROCK二人決定馬上將他帶回村莊醫(yī)治,不過在離開前袓拜托ROCK必須取得房中的水晶,之后他們回到村莊的公寓。

因為袓傷勢需要一段時間治理,所以ROCK二人便先幫助巴利路那邊。袓聽到他們的說話后,便仍告訴ROLL他已失去了記億,而設計圖就是他被村民發(fā)現(xiàn)時已在其身上,因此他才會想制造降落船到禁斷之地。此外,袓將自己的降落船借給他們,而只要將安裝之前取得的水晶便會完成。ROLL聽到訶個消息后,便立刻返回FLUTTER號準備。

ROCK回到FLUTTER號后,就正式出發(fā)到禁地斷之地。當他們飛到禁斷之地入口上空,ROLL將載了ROCK的降落船投下。ROCK抵達嚴寒的禁斷之地后,便立即開始SULPHUR.BOTTOM的下落。

A:好像袋鼠跳躍的機械人,需要它們的埋身火球攻擊,必須在它停在面前時以跳躍避開。

B:ROCK在這里發(fā)現(xiàn)有很多被封在冰塊中的人類,而當中更有一名少女坐在降落船中。

C:遇上會變身的敵人,由于它們耐久力異常地高,最好以拉鋸戰(zhàn)來攻擊,其實只要不攻擊它們,便可輕松通過。

D:會出現(xiàn)三頭象形機械人,只要以橫跳躍它們突進攻擊,便可以輕易解決它們。

E:象形機械人會在這段路上不斷地沖出來,ROCK要利用象與象之間的距離走到路旁下陷的位置內(nèi)。

BOSS-奧魯夫

ROCK在C之前的空地會出現(xiàn)一只狠形的中BOSS,它以快速動作進行攻擊。ROCK要趁它正面沖過來時離遠開始攻擊,而埋身以橫移回避。

BOSS-瑪姆

當ROCK接觸山坡上的水晶時,瑪姆便會在雪推中出現(xiàn),而他們會以噴雪球、腳踏、沖擊波來攻擊。腳踏以拉開距離、沖擊波以跳躍、噴雪球以繞圈或障礙物回避。ROCK以LOCK ON左右移動的戰(zhàn)法解決它,不過到禁斷之地之前最好裝備能力提升。

EVENT攻略5~展開鑰匙之旅

ROCK解決了瑪姆后,之前禁斷之地的大風雪在剎那間消失了。當ROCK望上天空時,才發(fā)現(xiàn)SULPHUR?BOTTOM號在空中正慢慢降落。ROCK看?浮在半空的立體菱形之際,那東西突然發(fā)出強光,而光之中出現(xiàn)一男一女的古代人。同時瑪智露達和兩個穿上黑衣的男女站在另一處看到剛才的事件,跟?便乘之前白色飛機離開,而ROCK和兩個人古代人登上剛剛降落的SULPHUR?BOTTOM號。

古代人向米拿和巴利路講解有關偉大的遺產(chǎn)的資料后,而得到米拿收留,不過當巴利路在走近門口時,發(fā)現(xiàn)剛才的資料已被人用偷聽器盜取了。另外,古拿杜和巴哥舒家斯知道幫家剛才已經(jīng)偷聽了古代人和米拿的對話,而要脅合作。當ROCK在米拿的房間時,才知道偉大遺產(chǎn)的事。米拿委托ROCK替他拿取4條可以解開偉大遺產(chǎn)封印的鑰匙,ROCK亦爽快地答應他們,而第一條鑰匙就在MANDA島的POKTE村附近。米拿為了不讓盜賊團盜去鑰匙,所以吩咐ROCK需要將取得鑰匙放在SULPHUR?BOTTOM號保管。之后ROCK他們便出發(fā)到MANDA島。

EVENT攻略6~POKTE迷宮

抵達MANDA島之后,ROCK便發(fā)現(xiàn)FLUTTER號降落地的南方有一個迷宮,于是ROCK走進了POKTE迷宮看看。當ROCK抵達迷宮時,便發(fā)現(xiàn)有三個似神像的敵人在大聽,而ROCK便一邊回避它們的電球,一邊攻擊。ROCK在A房會遇上四只青蛙和蚯蚓機械人,最好先解決機械蚯蚓。在B房會遇上三只機械青蛙、二只自殺機械和二個噴火的盾牌機械人,先攻擊自殺機械,但不要接近盾牌機械人。最后ROCK在地下2階打倒BOSS—剎以華后,找到另一粒水晶。

EVENT攻略7~ROCK被多倫戲弄?

ROCK進入POKTE村時,原來多倫與哥布已經(jīng)準備一套計劃玩弄ROCK。多倫駕駛“維斯比”在剛剛進村的ROCK面前突然出現(xiàn),而且在對話當中以變聲器來變成ROLL的聲音,令ROCK以為ROLL身處在維斯比內(nèi),以ROLL的身份說她已經(jīng)加入了幫家,而且還吩咐多倫對付ROCK,使ROCK感到精神打擊。

BOSS-維斯比?

維斯比會有從高空壓下、直線彈、散彈、多方向掃射、不定向回轉攻擊五種攻擊方法。玩者遇上多方向掃射時,要以中型跳躍來回避。減至一定體力而發(fā)動的不定向回轉攻擊,需要以橫跳來避開。玩者可以利用增強了的BUSTER,或可以開發(fā)的特殊武器-導向飛彈來攻擊維斯比。

EVENT攻略8~MANDA島之遺跡

ROCK解決了維斯比便向位于村長家附近的MANDA島之遺跡進發(fā)。當ROCK進入遺跡后,巴哥舒家斯兄弟便隨即出現(xiàn),而今次對付ROCK的盜賊就是懂得隱身術的波拿。

進入了MANDA島之遺跡內(nèi)的ROCK發(fā)現(xiàn)當中只有綠色的門可以打開,而唯有冒險一看。首先會遇上未曾見過的抓地機械人,而ROCK在坑內(nèi)不斷以左右步行避開它們。到達地下2階時,ROCK在A的位置首次遇上了波拿。當ROCK走到盡頭時,按下右面的藍色鈕便可解開紅色門的鎖。

進入紅色門后,便要立即小心射出光球的敵人。ROCK走到B地區(qū)取得“青(藍色CARD KEY)”后,波拿更會再次出現(xiàn),而攻擊會比之前利害。辛苦地擊倒波拿后,ROCK拿著藍色CARD KEY走到入口前的藍色石碑前使用,就可以打開地下2階的橋,令中間的駁橋升起。

今次ROCK需要再次由綠色門進入,不過當這個鎖被打開后,亦令所有機關打開,之前所行的路在環(huán)境和敵人上會有出入。首先地下1階會多了一條電捧左右移動,而地下2階的A房間就會多了一些會不斷撞向ROCK的機械人。D和E都會有像食人花機械。在它的口將開時,攻擊它就可令其回復原狀一段短時間,而攻擊數(shù)次后,它便會長時間將開口打開只要不斷攻擊便可擊倒,但不要操之過急。另外D、E的位置需要使用才可走到墻的另一面開啟寶箱。

ROCK通過窄橋后,便來到在C地區(qū),而當中會出現(xiàn)6只紅色的機械青蛙和噴毒氣的盾牌機械人,應該首先將所有紅色的機械青蛙擊倒,而攻擊途中不可以接近盾牌機械人(毒)和被紅色的青蛙擊中(火),因為他們都會將異狀態(tài)帶給BOSS。

最后ROCK終于放置了封印之鍵的房間,而波拿又再次出現(xiàn),不過他今次并不是打架的。當波拿走了之后,真正的遺跡BOSS便會出現(xiàn)。

BOSS-波拿

A:開始時他會派出四只機械青蛙作先頭部隊,而將所有機械青蛙擊倒后,波拿就會出現(xiàn)。他主要會以每次三枚飛標作為攻擊 ,雖然其攻擊范圍廣,但玩者只要靠著墻身,以單方向步行,利用LOCK ON攻擊,便可以輕易地擊倒他。

B:由于房間擺放了五個齒輪狀的攻擊物,所以在攻擊時需要注意身邊的情況。開始時他會多了一招從高空壓下來的攻擊,而擾亂玩者的行走方向來撞向攻擊物。當他被減至一定體力時,就會以攻擊物進行多方向攻擊,不過每一個攻擊物只是移動45度角,而同時波拿亦不會受到攻擊,因此玩者只要看到攻擊物移至中間時,作少許步行就可避開。

BOSS-卡路卡路保美

卡路卡路保美會以高空壓下、吹泡沫、伸利來進行攻擊,而中間的綠色地會有一群像科斗般機械人,以撞擊攻擊ROCK。另外墻身側會有移動中的齒輪狀攻擊物。由于卡路卡路保美只會在方石上移動攻擊,可以隨時跳躍和行至中間綠色地的優(yōu)勢避其攻擊,不過其弱點只有鐲開口期間。當ROCK沒有體力的時候,就可以擊落在半空飛行的機械人,來獲得Life Energy Cube。

EVENT攻略9~阻止斯達巴進入NEENO島

ROCK在取得“封印之鍵”后,便立刻起程返回SULPHUR.BOTTOM號交給巴利路,而米拿便立即告訴ROCK下一條封印之鍵就在NEENO島,不過島上的基路度村長發(fā)出他們正受到古拿杜盜賊團襲擊。雖然地下遺跡是被封印在島上的某角落,但ROCK的首要工作就是令島上的防衛(wèi)設施完全開啟,不過潛入的盜賊會將防衛(wèi)設施破壞。

FLUTTER號接近NEENO島的時候,突然島上機關炮的攻擊。在降落后,基路度村長立刻上前為剛才的誤會道歉,之后ROCK便走到1階升降機旁的DIGOUT見村長,同時古拿杜的斯達巴駕駛了三架戰(zhàn)機到NEENO島,而ROCK現(xiàn)在就要跑到2階的1號門迎擊斯達巴。

解決了1號門的炮臺MISSION后,便輪到2號門后的機關炮受到斯達巴襲擊。當鳥形戰(zhàn)機被修好的大炮擊毀后,就會轉移攻擊3號門外,而ROCK亦趕往3號門外的停機坪迎擊斯達巴。最后ROCK需要從3階的樓梯爬上4階,阻止斯達巴的進入NEENO島,途中道拿希會向ROCK攻擊。

回到村長房間后,村長問ROCK可否趁古拿杜回去Calvania要塞補給的時候,到Calvania攻擊要塞,而ROCK亦爽快答應了。

MISSION 1

這是在NEENO島的第一個任務。今次ROCK需要把所有降落了的斯達巴擊倒,保護炮臺的大閘直至壞了的炮臺被修理完成為止。開始后,斯達巴會由大型空中吊臂運送過來,不單守住大閘,而且要避開斯達巴的火箭炮和空中吊臂鉗腳攻擊,兩者都可以以跳躍避開。當修理完結后,ROCK就可以走到大閘兩旁,開啟大閘開關器,使大炮臺移出來,將運送斯達巴的空中吊臂一一擊毀。

MISSION 2

解決1號門的大炮后,跟著便輪到2號門的機關炮受到襲擊。今次斯達巴會派出鳥形戰(zhàn)機,一邊投下炸彈,一邊將斯達巴放下來把機關炮加以破壞。ROCK需要在射擊鳥形戰(zhàn)機之余,留意其投下的數(shù)個炸彈,小心被爆風所擊中,而且不要讓斯達巴接近機關炮,否則機關炮很快就會被其發(fā)射火箭炮破壞。當ROCK守護一段時間后,村民便會通知ROCK大炮已修完成,而將鳥形戰(zhàn)機擊墜。

MISSION 3

今次斯達巴派出強襲戰(zhàn)機進行總攻擊,載送大量斯達巴到停機坪。今次的目標就是在對付大量斯達巴之余,將敵方強襲戰(zhàn)機-莫迪擊毀。由于每次它們派出三、四斯達巴,所以武器需要增強彈數(shù)和攻擊力,而且近距離攻擊莫迪時它會以機關炮還擊,最好武器亦增強射程,以遠距離攻擊它們,當然不能缺少特殊武器幫助。攻擊莫迪的最好機會就在莫迪移動的時候,不過要小心莫迪移至橙色停泊位置時,不單斯達巴移動距離短了,而數(shù)目亦會增加。擊毀莫迪后,炮臺才會出現(xiàn)。

MISSION 4

斯達巴會從空中降落四邊的工字鐵上,而抱著炸彈慢慢行步至欄桿,將炸彈投出破壞大炮的出口。首先將四周的斯達巴擊退,不讓它們接近欄桿,途中會有戰(zhàn)機替它們掩護,因此在攻擊之余不要忘記避開戰(zhàn)機的攻擊。當經(jīng)過一段時間后,斯達巴的首領便以主戰(zhàn)機“道拿?!边M行攻擊。

BOSS-道拿希

它會以橫掃的散彈和低飛撞擊來作為對付ROCK的攻擊。遇上橫掃的散彈時利用橫移拉遠一點距離,而低飛撞擊則需要以側滾避開。當ROCK擊倒道拿希后,炮臺才會出現(xiàn),將斯達巴擊退。

EVENT攻略10~進攻Calvania要塞

ROCK答應村長的事后,便飛往東南方的CALVANIA島。到達CALVANIA島不久,ROCK在一間已被破壞的房子中遇上了兩個樣子非常相似的兄弟。由于他們的姊姊—亞修被古拿杜家捉走了,所以他們想ROCK從古拿杜家手中救回亞修,當然ROCK亦答應了他們的要求。

在草原上,兩兄弟會帶領ROCK前往CALVANIA島要塞,不過途中會遇上不少敵人。當ROCK他們走到要塞對出的草原時,便遇上了古拿杜家的前線防御網(wǎng)。由于兩兄弟不懂攻擊,而在草原四處走動,所以每每成為敵人的攻擊目標。為了不讓他們死去,因此ROCK攻擊敵人的時間必需要快。解決了草原上的敵人后,就要確保兩兄弟仍然在生,否則需要重新再來。由于要塞的所有都被鎖上,所以兩兄弟以雙手作跳臺,令ROCK飛越墻身進入要塞之內(nèi)。ROCK立刻在停機坪上受到敵方的攻擊。ROCK在解決了所有戰(zhàn)機后,便可以取得CARD KEY。

進入下一個區(qū)域后,ROCK就要對付從城墻上投下炸彈的斯達巴。ROCK在險被炸彈擊中的環(huán)境下,終于將塔破壞,而當中的鐵柜里可以找到。進入第三區(qū)后,遇上了由三輛坦克和斯達巴組成的部隊。之后便會到

最難的第四區(qū),而ROCK將強敵一一擊倒,便利用木箱跳露臺進入。當中由于只得三只斯達巴,所以很快地解決了他們,不過被斯達巴啟動了要塞自爆系統(tǒng)。ROCK和亞修正想離開時,再次遇上斯達巴。在解決所有地面敵人后,ROCK二人亦隨即離開。

MISSION 1

這個草原會有三個機關炮臺、三磚大炮和一臺坦克。ROCK首先向右面進行攻擊,不單右面的地方比較大,而且是為了不讓兩兄弟死在敵人手上。ROCK需要以最快時間解決坦克,因為它是唯一懂得移動的機械,所以之后ROCK就可以向單一方向進攻。

MISSION 2

ROCK在今次MISSION的目的就是找出用來通往下個地區(qū)的CARD KEY。由于除了空中的戰(zhàn)機外,基本上地面的都是阻礙ROCK走路的障礙物,所以應該先將它們解決,而之后就應該是騷擾ROCK攻擊的墻身炮臺,這樣便可以簡單的擊毀余下戰(zhàn)機,不過要小心它們投下的炸彈。

MISSION 3

由于斯達巴的數(shù)目會在被攻擊后不斷補充,所以最好將墻身上的大炮擊毀,不過途中要小心斯達巴每次投下的十多個炸彈。因高度問題,令ROCK需要貼近塔來射擊,而增加被炸彈擊中的危險,這樣就要提升BUSTER的射程或使用射程較遠的特殊武器。在攻擊一段時間后,城墻就會倒塌。

MISSION 4

首先不要攻擊那三輛強勁坦克,而應該將所有斯達巴擊倒,因為它們太阻礙LOCK ON。接?便把其中一邊的墻身炮臺清除,可以在與坦克分開兩邊時不會受到額外的攻擊,而它們所射出的彈就以向橫跳躍來避開。

MISSION 5

這個是要塞MISSION中最難的一個,因為當中會有三只威力強大的巨型機械人,而且要利用?面的地形來戰(zhàn)斗。首先屋頂和由磚塊砌成的戰(zhàn)壕可以避開巨型機械人的回旋攻擊,但不要站得太久,因為它們可以利用翼背的槍口掃射主角。所有敵人都被擊倒后,ROCK需要將木箱疊起跳上其中一邊的平臺進入

MISSION 6

今次的目的就是逃出這個將要爆炸的要塞。由于MISSION 6是連接著MISSION 5來進行,所以要小心開始時被減少了的體力和特殊武器能源。基本上ROCK只需要將除道拿希外的敵人擊倒,而途中可以完全不理會它的存在,最后把亞修拿起,走向大門便可以離開。

EVENT攻略11~基多迷宮

逃離Calvania要塞,而回到廢墟后,兩兄弟便上前多謝ROCK救了亞修回來,而亞修則以作為謝禮。跟著ROCK便打算在回到NEENO島之前,先進入基多迷宮一看。

在基多迷宮里,會出現(xiàn)一些大象的敵人不斷以快速步行在走廊走來走去。

在A的位置,ROCK會遇上史嘉利多,雖然進入房時不會攻擊ROCK,但當擊倒了房間中的另一個敵人時,她會以撞擊對付ROCK,而ROCK又不能夠擊倒她,因此最好逃到另一個地方。

ROCK進入水晶房間前的B點時,便會立刻出現(xiàn)兩只擁有一雙蟹鉗手臂的敵人,而小心它那快速的DASH攻擊。ROCK便利用拉開了的距離,進行遠距離攻擊。在水晶房間時,ROCK就可以取得黃色水晶A。最后在取得地下2階的三件ITEM,隨即返回NEENO島。

EVENT攻略12~NEENO島

回到NEENO島的ROCK立即又收到古拿杜親自攻擊NEENO的消息,而身旁的ROLL聽到后,便跑去第3階的特殊武器庫。當ROCK趕至3階時,才發(fā)現(xiàn)原來ROLL想利用那部已經(jīng)放置一邊的機械。將秘密兵器升上4階時,立刻被古拿杜發(fā)現(xiàn),而且打算用飛彈摧毀兵器。ROCK今次需要幫ROLL截擊飛過來的飛彈,而直至兵器能源回復100%。由卞古拿杜會由遠處同時發(fā)射多支飛彈,令ROCK有機會不能同時應付多支飛彈,所以ROCK事先盡量提升特殊武器(如:)的射程、攻擊力、彈數(shù)或連射性。

秘密兵器的能源回復至100%時,古拿杜便決定光速炮攻擊,同時ROLL亦修理好了秘密兵器,而且快過光速炮攻擊。雖然看似和普通的音波差不多,但結果令飛船上的斯達巴失去了理智,而古拿杜亦牽連于斯達巴的失常里。

基路度迷宮

在NEENO島里,除了NEENO島遺跡外,其實還有一個名為“基路度”的迷宮,而入口就在2階的Digout里面。在迷宮的A點會出現(xiàn)三只在擊倒會跌出貴重水晶的敵人,不過玩者不要接近它們,否則它們就會化成白煙消失。另外當中的所有寶箱都會擺放在墻壁阻隔的B、C房間里,必須利用特殊武器來擊毀。

EVENT攻略13 巴哥舒家斯之強攻

在擊退古拿杜家后,ROCK便再次到地下2階的Digout找村長。村長他們不單多謝ROCK,而且把和田玉送給ROCK作謝禮。ROCK經(jīng)過了這么多的事情后,終于可以開始尋找第二條“封印之鍵”的冒險旅程,跟著ROCK便跑到1階的中間,跳進NEENO島之遺跡的入口。

ROCK進入遺跡后,向前走便可乘升降機到達地下2階,而當中會出現(xiàn)一個很大的深坑,ROCK需要利用崖邊的大石級走到的深坑底部。雖然ROCK看到深坑墻身有多個下陷位,但其高度使ROCK不能攀爬到那里,唯有進入深坑底部入口。不過里面亦出現(xiàn)了一道紅色的墻身,由于同時不能越過,所以只好繼續(xù)前進。之后利用盡頭的升降機就可以找到一個令迷宮注水的開關器?;氐降叵?階后,ROCK便會置身于水中,而他利用了在JUNK店買回來的開發(fā)可以在水中Roller Dash的。由于水的浮力令身體的重力減輕,所以只好利用高臺附近的方形石臺,就可以越過高高的墻身。另外,迷宮會出現(xiàn)不少可以破壞的墻壁,只要使用便可進入當中取得重要的道具和金錢,基本上不理會那些墻壁亦可完成迷宮??缭郊t色墻壁后,以升降機進入地下3階。在3階中,會出現(xiàn)魚形的敵人,而且有大有細。細的雖然可一炮了結,但卻引來附近的細魚攻擊;大的則會不時向ROCK進行突進攻擊或發(fā)射導彈。在A點出現(xiàn)了一個水流閘阻擋ROCK的前進,需要利用石臺壓下地上的開關器,才可解除機關。

到達地下4階的大房間時,會出現(xiàn)一只巨型機械獸,但它不會攻擊ROCK,而且ROCK可以利用它平坦的背部跳上房間中的大柱之上,在寶箱中取得“水之鍵2”。這樣就可以在地下5階中取得第二條封印之鍵。不過在取得封印之鍵時,巴哥舒家斯就在ROCK背后突然出現(xiàn),而ROCK為阻止他奪去其手上的封印之鍵,所以作出反擊。雖然之后將巴哥舒家斯擊倒后,但他的奪取計劃并未完結。當ROCK回到地下1階,而正想離開遺跡時,巴哥舒家斯又再次出現(xiàn)。最后ROCK在巴哥舒家斯的強勁攻擊之下,將其擊倒,而波拿亦隨即出現(xiàn)將巴哥舒家斯帶走。

BOSS米度斯

在地下3階的大房中,出現(xiàn)三頭守護封印之鍵的米度斯。由于在水中作戰(zhàn),使兩方的移動速度減慢,所以兩方都會拉成均勢。首先它們會以從頭頂吐出的電球和突進攻擊作攻擊。由于追尾電球的移動速度和ROCK同樣地慢,只要利用前后移動或反側跳躍便可避開。突進攻擊的速度不是太快,只要不被它們的位置和攻擊擾亂,便可輕易避過。不過當只剩下一個米度斯時,它會使用高速電球和水母型水雷,而高速電球最難避開,之前最好不要逐個攻擊。

BOSS巴哥舒家斯

1.巴哥舒家斯會站在房間的中央與ROCK決戰(zhàn)。他會以機關炮和浮游麻痹球作攻擊模式。由于

求關于這篇旅游文章的翻譯

Although the Yuan Jia scenic area subordinates in the region in the Chinese first country forest park - - Zhangjiajie country forest park, but from the geographical position, is actually been situated by many things around a center the Zhangjiajie Wuling source scenic spot area the core, most beautiful canyon Jin Bianxi is close with the world, east meets Suoxiyu, south looks into the distance the kite sub-stronghold, gazes westwards the Huang Shih stronghold, north depends on Tianzishan, the total area the approximately 1200 hectares, average elevation 1074 meters

The first under heaven bridge takes Zhangjiajie one of ten big certainly scenery, stretches across between two mountains, grand magnificent. Bows the head under the bridge, but sees the white clouds to fly acorss, the high peak stands in great numbers; Takes a broad view looks out in all directions, the overlapping, the dense and numerous independent pinnacle jump into the view, lets you be eyes cannot take it all. The first under heaven bridge bridge floor width 2 meters, the depth 5 meters, the span is 25 meters, the vertical elevation difference 357 meters, are the vertical elevation difference biggest natural spontaneity stone plank bridges which in the world discovered until now. The locality has a Tuchia nationality ballad to describe first under heaven bridge's with overpowering momentum like this: A bridge height is also high, by the fog package, first day on the bridge is thrown daily the flower petal, 15 also in airborne flutter. In fact, the first under heaven bridge steps two mountains are originally link in together, lithical is only frailer because of the middle part, because makes decent, the avalanche function influence, also the process is exposed to the sun and rain, the stream erosion, the mountain torrent to wreak havoc, the year age year old, year old of old year after year, then forms has presented at present this unrivalled marvelous sight.

The fontanel mountain, is Zhangjiajie is written down most early the annals the famous mountains, the elevation 1518.6 meters, stands majestically in the Zhangjiajie urban district border, is apart from the urban district only 8 kilometers, as if Zhangjiajie's natural painted screen, becomes one of Zhangjiajie most representative natural landscape. , The fontanel mountain not only by its mysterious unique geological appearance, the elegant incomparable natural scenery is for long amazing, because its profound great cultural connotation, the colourful humanities win the mark to be known far and wide, is revered for the Zhangjiajie's soul, the spiritual soul of culture, has the western Hunan first god mountain fine reputation。

(The park entrance) the friends are good! Zhangjiajie forest park. This is the park front door. Everybody looked that one side this front door has the local Tujia national minority folk custom style small grey tile botanical garden type construction, at the same time matches by the sandstone pinnacle, the front door and the nature unifies ingeniously in together. on May 28, 1992, the United Nations Educational, Scientific and Cultural Organization sent to inspect approves the Wuling source declaration world natural heritage matters concerned two officials, after the car passed through the park front door to drive hundred rice, shouted again and again: “gate! Gate!”Also lets the driver come back but actually the vehicle, at the same time is full of praise appreciates the natural affective tone which the front door returns returns to original condition plain, at the same time presses camera's shutter repeatedly. Therefore, welcome everybody in this “gate of the nature” front, absorbs own glorious image. (Huang Shih stronghold road tablet) “on the Huang Shih stronghold, does not arrive at Zhangjiajie in vain”, obviously Huang Shih stronghold in Zhangjiajie scenery status. Hands down the Han Dynasty to keep Hou Zhangliang to be disillusioned with the mortal world, to resign from office does not do, follows the red pine nut, the concealment rivers and lakes, tours Zhangjiajie, is sieged by the officers and soldiers, the latter master worker Huang Shih male rescuing acquires fame the Huang Shih stronghold, is the Zhangjiajie beautiful scene most centralized place, is also Zhangjiajie biggest flies high looks at the scenery Taiwan. A renowned poet appraises the Huang Shih stronghold like this: “five steps express admiration, seven steps exclaim over, outside ten steps, dumbfounded.”Therefore, suggested that ascends the Huang Shih stronghold on foot, then rides the rope way to descend the mountain, or rides the rope way to climb mountains first, then descends the mountain from the outlying hill, otherwise, you might be truly “arrive at Zhangjiajie in vain”. The Huang Shih stronghold entire journey the approximately 5 hours, the walk climbs mountains the approximately 5 kilometers. what (cedar Lin Youjing) we walks now is cedar Lin Youjing. Ascended the Huang Shih stronghold since old times only then a Mt. Hou road, today we walk this road, is more than ten years ago opens cutting artificially.


文章題目:flutter橋,Flutter
當前鏈接:http://weahome.cn/article/dsdoihi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部