iOS 向けの高性能な弾幕レンダリング エンジン。同時に、5000 回の弾幕のレンダリングも非常にスムーズで、軽量で、スケーラブルであり、必要に応じてアニメーションを追加できます。超高性能、シンプルで使いやすい!基盤となるOCBarrage
Core Animation
フレームワークを使用して駆動し、 Core Graphics
使用して描画し、GPU を使用してレンダリングするため、超高性能です。アニメーションを自由に追加でき、アニメーションに対する多様なニーズに対応します。
pod 'OCBarrage'
Podfile に追加します。pod install
またはpod update
を実行します。OCBarrage.h
をインポートします。OCBarrage
サブディレクトリ内のすべてのファイルをダウンロードします。OCBarrage.h
をインポートします。iOS弹幕库OCBarrage-どのように住每秒5000条巨量弹幕を保持するか
このライブラリにはiOS 8.0+
以降およびXcode 8.0+
が必要です。
OCBarrage は MIT ライセンスに基づいて提供されます。詳細については、LICENSE ファイルを参照してください。
QQグループ:263384911
iOS弹幕库OCBarrage、同時渲染5000条弹幕也不卡、轻量、可拓展、高度自定义动画、超高性能、简单易上手。 OCBarrage
底層使用Core Animation
、 Core Graphics
绘图、GPU渲染、性能极高、哪怕是同時渲染5000条弹幕也不感觉到卡顿。 さまざまなプロパティアニメーションおよび路径アニメーション、十分な您对アニメーションの多样化要求を自動的に決定できます。
pod 'OCBarrage'
追加しました。pod install
またはpod update
を実行します。OCBarrage.h
挿入します。iOS 画面で OCBarrage を使用して、5000 条の巨大画面をどのように監視できるか、その原理と使用法を確認します。 有问题大家可以留言!
新しい幕の種類として新しいデータ モデルを作成します。例: OCBarrageWalkBannerDescriptor
。 このクラスはOCBarrageDescriptor
から継承する必要があります。
このようにして、新しい幕の種類のデータ モデル モデルを作成するには、このクラスのページに新しい幕のプロパティ (例: bannerLeftImageSrc
、 bannerMiddleColor
、 bannerRightImageSrc
など) を追加できます。
新しい幕タイプとして、データ表示ビューを作成します (例: OCBarrageWalkBannerCell
)。 この新しいスクリーン タイプの表示ビューは、 OCBarrageTextCell
タイプから継承する必要があります。
この新しい展示ビューエリアに、展示関連データの子ビュー図 (例: leftImageView
、 middleImageView
、 rightImageView
を追加できます。 この新しいビデオ タイプには、対応するデータ モデル タイプのOCBarrageWalkBannerDescriptor *walkBannerDescriptor
追加され、データが転送されます。
OCBarrageWalkBannerCell
の再書き込み- (void)setBarrageDescriptor:(OCBarrageDescriptor *)barrageDescriptor
メソッド。 このメソッドではwalkBannerDescriptor
プロパティのみが可能であり、このメソッドでは[super setBarrageDescriptor:barrageDescriptor]
メソッドを使用する必要がありますが、 barrageDescriptor
プロパティは無効であり、プロパティ設定の一部は無効になります。 OCBarrageCell
自体には、 barrageDescriptor
プロパティ参照データモデルが 1 つあります。 ただし、成功方便開拓のために、2 番目のエリアにOCBarrageWalkBannerCell
に新しいデータ プロパティwalkBannerDescriptor
追加しました。 必ず上のOCBarrageWalkBannerCell
のbarrageDescriptor
プロパティとwalkBannerDescriptor
方向は同じwalkBannerDescriptor
オブジェクトです。新しいビデオOCBarrageWalkBannerCell
の- (void)updateSubviewsData
メソッドを再書き込みします。 渲染引擎は渲染弹幕画面の前でこの方法を使用して自動调を行います。 私はこの方法で子ビデオ設定データを保存できます
。
4 番目に良い子ビデオ画像のデータを設定した後、 - (void)layoutContentSubviews
メソッドを再書き込みして、子ビデオ画像の位置をローカルに配置- (void)updateSubviewsData
ます。 - (void)updateSubviewsData
メソッドの後に自動的に使用される- (void)layoutContentSubviews
メソッド。このメソッドは主回線内で実行する必要があります。
配置された好子ビデオの位置の後、パフォーマンスを向上させたい場合は、使用可能 (void) - (void)convertContentToImage
メソッドを使用して、画像化可能なビデオ合成の画像をセルの層に表示し、ペイント ローラーを使用して- (void)layoutContentViews
します。方法その後自動调用- (void)convertContentToImage
メソッド。このメソッドは主回線内で実行する必要があります。
子ビデオのコンテンツを画像に変換したくない場合は- (void)convertContentToImage
再書き込みして空に保存するだけで済みます。
内部メモリのパフォーマンスをさらに向上させたい場合は、 - (void)removeSubViewsAndSublayers
メソッドを使用して、前に追加したサブビューとサブレイヤーを削除し、子ビューイメージをnil
に設定できます。
高性能化を希望する場合、またいくつかの無法な画像化されたコンテンツ (例:gif) を表示する必要がある場合は、 - (void)removeSubViewsAndSublayers
メソッドを上書きできますが、 [super removeSubViewsAndSublayers]
メソッドを使用せずに、一部の子ビデオを削除します。いくつかの子ビデオを保存します。
もし望ましくない場合は、再書き込み- (void)removeSubViewsAndSublayers
メソッドを空にするだけで十分です:
この項目では、 iOS 8.0
およびXcode 8.0
最低サポートされています。
使用中に不必要な麻烦を全力で減らすために、强烈推荐查看详细文档
OCBarrage は MIT 許可、場合によっては LICENSE ファイルを使用します。
欢迎加群讨论 QQ群:263384911