亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目次
アニメーションの基礎(chǔ)知識
畫像の基本
光柵化項目
最終想法
ホームページ CMS チュートリアル &#&プレス Paper.js 入門: アニメーションと畫像

Paper.js 入門: アニメーションと畫像

Sep 03, 2023 am 09:05 AM
スタートガイド paperjs アニメーションと畫像

このシリーズではこれまで、Paper.js でのアイテムとアイテム、パスとジオメトリ、およびユーザー インタラクションについて説明してきました。このライブラリを使用すると、プロジェクト內(nèi)のさまざまなアイテムをアニメーション化することもできます。これをユーザー入力に基づいて動作する機能と組み合わせると、非常に優(yōu)れたエフェクトを作成できます。このチュートリアルでは、Paper.js でアイテムをアニメーション化する方法を説明します。

このチュートリアルの後半では、畫像処理と個々のピクセルの色を操作する方法についても説明します。このライブラリでは、ベクターからラスターを作成することもできます。これについては最後に説明します。

アニメーションの基礎(chǔ)知識

Paper.js のすべてのアニメーションは、onFrame イベント ハンドラーによって処理されます。ハンドラー內(nèi)のコードは 1 秒あたり最大 60 回実行されます。ビューは実行のたびに自動的に再描畫されます。関數(shù)內(nèi)のいくつかのプロパティを徐々に変更すると、非常に素晴らしい効果が得られることがあります。

onFrame ハンドラーは event オブジェクトも受け取ります。このオブジェクトには、アニメーション関連の情報を提供する 3 つのプロパティがあります。

最初の値は event.count で、ハンドラーが実行された回數(shù)を示します。 2 つ目は event.delta で、ハンドラーが最後に実行されてから経過した合計時間を示します。 3 番目は event.time で、最初のフレーム イベントからの経過時間を示します。

ハンドラーでは多くのプロパティをアニメーション化できます。この例では、3 つの長方形を回転し、中央の長方形の色合いを変更します。次のコードを考えてみましょう:

リーリー

上記のコード スニペットから明らかなように、長方形をアニメーション化するために必要な実際のコードはほとんどありません。四角形 A では、onFrame ハンドラーが実行されるたびに、色合いを 10 event.delta 倍に増やします。 event.delta の値は通常、0.01 に近いです。値を 10 倍にしていなかったら、色の変化に気づくまでに長い時間がかかっていたでしょう。

コードを?qū)g行するたびに、各四角形を 2 度回転します。値 event.time を使用して四角形を回転すると、しばらくすると回転が非常に速くなります。

#パス全體または項目を一度にアニメーション化するのではなく、個々のフラグメントをアニメーション化することもできます。プロセス自體は非常に簡単です。 path.segments を使用すると、パスを構(gòu)成するすべてのセグメントの配列を返すことができます。個々のセグメントには、index 値を指定することでアクセスできます。先に進む前に、以下のコードを見ていただきたいと思います。

リーリー

ここでは、まず Path. RegularPolygon(center, Sides, radius) コンストラクターを使用して正方形を作成します。 sides このパラメータは、多角形の辺の數(shù)を決定します。 radius パラメータはポリゴンのサイズを決定します。また、個々のポイントを確認(rèn)できるように、completelySelected プロパティを true に設(shè)定します。

onFrame ハンドラー內(nèi)で、for ループを使用してすべてのセグメントを反復(fù)処理し、その X 座標(biāo)をインデックスに基づいて計算された値に設(shè)定します。 Math.sin() 関數(shù)內(nèi)で event.time 関數(shù)を使用しても、Math.sin() の値は影響を受けないため、極値に関連する問題は発生しません。極端な値に関連する問題。 sin() 関數(shù)は常に -1 と 1 の間に位置します。

次のデモは、アニメーション化された正方形を示しています。ちなみに、onFrame ハンドラーのコードのおかげで、これは正方形ではなくなりました。ポリゴン コンストラクターのさまざまな値と sin 関數(shù)の引數(shù)を試して、デモの最終アニメーションにどのような影響を與えるかを確認(rèn)することをお勧めします。

畫像の基本

Paper.js の畫像はラスターと呼ばれます。他のアイテムと同じように変形したり移動したりできます。プロジェクトで畫像を使用するには、まず通常の img タグを使用して Web ページのマークアップに畫像を追加し、id を割り當(dāng)てる必要があります。この id は、new Raster(id) コンストラクターに渡されます。

使用している畫像はロードする必要があり、プロジェクトと同じ Web サイトでホストされる必要があることに注意してください。他のドメインでホストされているイメージを使用すると、セキュリティ エラーが発生します。このチュートリアルでは、次の畫像を操作します:

Paper.js 入門: アニメーションと畫像

要訪問上圖中各個像素的顏色,您可以使用 柵格。 getPixel(x, y) 函數(shù),其中 x 和 y 是像素的坐標(biāo)。下面的代碼生成 7*7 像素的正方形,填充位于左上角的像素的顏色:

var raster = new Raster('landscape');
var gridSize = 8;
var rectSize = 7;

raster.on('load', function() {  
  raster.size = new Size(80, 40);

  for (var y = 0; y < raster.height; y++) {
    for (var x = 0; x < raster.width; x++) {
      
      var color = raster.getPixel(x, y);
      var path = new Path.Rectangle( new Point(x, y) * gridSize, new Size(rectSize, rectSize));

      path.fillColor = color;
    }
  }

  project.activeLayer.position = view.center;
});

加載柵格后,我們將其大小調(diào)整為 80*40。像素。在嵌套的 for 循環(huán)內(nèi),我們遍歷該柵格的各個像素并創(chuàng)建 7*7 的正方形。增加?xùn)鸥竦拇笮o我們帶來更好的結(jié)果,但執(zhí)行速度會更慢。這是最終結(jié)果,調(diào)整后的光柵在左上角可見:

<圖>

如果要隱藏調(diào)整大小后的柵格,可以將 raster.visible 屬性設(shè)置為 false。您還可以操縱生成的方塊的顏色。例如,要增加所有方塊中的紅色分量,您可以使用以下行:

path.fillColor = color + new Color(0.4,0,0);

在這種情況下,最終結(jié)果將是:

<圖>

光柵化項目

雖然 Paper.js 是一個矢量圖形庫,但它還允許您從現(xiàn)有項目創(chuàng)建光柵。為此,您必須使用 item.rasterize() 方法。光柵化后,原始項目本身不會從項目中刪除。您還可以選擇指定光柵的分辨率(以每英寸像素為單位)。下面的代碼以不同的分辨率從多邊形創(chuàng)建兩個柵格:

var aDodecagon = new Path.RegularPolygon(new Point(150, 180), 12, 30);
aDodecagon.fillColor = '#CCAAFC';
  
var dodecRasterA = aDodecagon.rasterize();
dodecRasterA.position.x += 250;
  
var dodecRasterB = aDodecagon.rasterize(150);
dodecRasterB.position.x += 500;
  
aDodecagon.scale(3);
dodecRasterA.scale(3);
dodecRasterB.scale(3);

與中間的相比,最右邊的分辨率更高的多邊形仍然很清晰。最終結(jié)果如下:

最終想法

如果您已閱讀本系列中的所有教程,您應(yīng)該擁有足夠的知識來開始使用 Paper.js。雖然學(xué)習(xí)該庫的基礎(chǔ)知識很容易,但掌握所有概念將需要您付出一些努力。每當(dāng)您需要有關(guān)某個主題的更多信息時,您可以瀏覽官方網(wǎng)站上的參考資料。

JavaScript 已成為事實上的網(wǎng)絡(luò)工作語言之一。它并非沒有學(xué)習(xí)曲線,而且還有大量的框架和庫可以讓您忙碌起來。如果您正在尋找其他資源來學(xué)習(xí)或在工作中使用,請查看我們在 Envato 市場中提供的資源。

如果您使用此庫創(chuàng)建了一些有趣的東西,請在評論中分享您的作品。

以上がPaper.js 入門: アニメーションと畫像の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP 入門: PATCH リクエストとレスポンス PHP 入門: PATCH リクエストとレスポンス May 23, 2023 pm 04:21 PM

インターネットが発展し続けるにつれて、フロントエンドおよびバックエンド テクノロジーの需要も増加しています。バックエンド開発者として、PHP をマスターすることは不可欠です。 PHP 開発では、リクエストとレスポンスを処理する必要があることがよくあります。この記事では PATCH リクエストとレスポンスについて説明し、PHP 初心者向けの実踐的なガイドを提供します。 1. PATCH リクエスト PATCH リクエストは、既存のリソースを更新するために使用される HTTP リクエスト メソッドです。 HTTP プロトコルでは、PUT リクエストを使用して、

PHP の自然言語処理の初心者ガイド PHP の自然言語処理の初心者ガイド Jun 11, 2023 pm 06:30 PM

人工知能技術(shù)の発展に伴い、自然言語処理 (NLP) は非常に重要な技術(shù)となっています。 NLP は、人間の言語をよりよく理解して分析し、インテリジェントな顧客サービス、感情分析、機械翻訳などの自動化されたタスクを?qū)g現(xiàn)するのに役立ちます。この記事では、PHP を使用した自然言語処理の基本とツールについて説明します。自然言語処理とは 自然言語処理とは、人工知能技術(shù)を利用して処理を行う手法です。

Java 開発初心者ガイド: 始めてから諦めるまで Java 開発初心者ガイド: 始めてから諦めるまで Sep 22, 2023 am 08:25 AM

Java はソフトウェア開発で広く使用されているプログラミング言語であり、その簡潔な構(gòu)文と強力な機能により、多くの開発者にとって Java が最初の選択肢となります。ただし、初心者にとって Java の學(xué)習(xí)は少し難しく感じるかもしれません。この記事では、Java 開発初心者が始めてから諦めるまでをサポートするガイドを提供します?;緲?gòu)文を?qū)Wぶ Java の基本構(gòu)文には、変數(shù)、データ型、演算子、條件文、ループ文などが含まれます。初心者はこれらの基本概念から始めて、簡単なコード例を書いて理解を深めてください。

PHP 初心者ガイド: タオバオ商品詳細(xì) API ドキュメントの解析 PHP 初心者ガイド: タオバオ商品詳細(xì) API ドキュメントの解析 Jun 30, 2023 pm 06:22 PM

PHP テクノロジーの紹介: タオバオ製品の詳細(xì) API ドキュメントの解釈 はじめに: PHP は、Web 開発で広く使用されているプログラミング言語として、大規(guī)模なユーザー グループと豊富な拡張ライブラリを備えています。その中でも、PHP を使用して淘寶商品詳細(xì) API を開発することは、非常に実用的で一般的な要件です。この記事では、淘寶網(wǎng)の商品詳細(xì) API ドキュメントの詳細(xì)な解釈を提供し、初心者向けの入門ガイドを提供します。 1. タオバオ商品詳細(xì) API とは何ですか? タオバオ商品詳細(xì) API は、タオバオ オープン プラットフォームが提供するインターフェイスです。

ゼロから始めるPHP WebSocket開発入門ガイドと機能実裝チュートリアル ゼロから始めるPHP WebSocket開発入門ガイドと機能実裝チュートリアル Sep 12, 2023 am 10:51 AM

ゼロから始めるPHP WebSocket開発入門ガイドと機能実裝チュートリアル 1. はじめに インターネットの発展に伴い、リアルタイム通信の需要が高まっています。新しいリアルタイム通信プロトコルとして、WebSocket は開発者の注目と使用を徐々に集めています。この記事では、開発言語として PHP を使用して WebSocket の基本概念を紹介し、読者が WebSocket 機能を最初から実裝できるように初心者に適した入門開発ガイドを提供します。 2.Webソケット

PHP 入門: コードのリファクタリング PHP 入門: コードのリファクタリング May 26, 2023 pm 04:21 PM

リファクタリングは、PHP コードを作成する際の非常に重要なプロセスです。アプリケーションが成長するにつれて、コード ベースが大きくなり、読み取りや保守が困難になります。リファクタリングは、この問題を解決し、コードをよりモジュール化し、より適切に組織化して拡張可能にすることです。コードをリファクタリングするときは、次の側(cè)面を考慮する必要があります。 コード スタイル コード スタイルは非常に重要な點です。コーディング スタイルの一貫性を維持すると、コードが読みやすく、保守しやすくなります。 PHP コーディング標(biāo)準(zhǔn)に従い、一貫性を保ってください。 PHPなどのコードスタイルチェックツールを使ってみる

PHP 入門: PHP と YAML PHP 入門: PHP と YAML May 20, 2023 pm 08:21 PM

PHP は Web 開発によく使用される人気のサーバーサイド スクリプト言語ですが、YAML は構(gòu)成ファイルやデータ交換に使用される軽量のデータ シリアル化形式です。この記事では、PHP が YAML とどのように連攜するのか、またその開始方法について説明します。 PHP と YAML Web アプリケーションを開発する場合、開発者は大量のデータと構(gòu)成を扱う必要があります。これらのデータと構(gòu)成は、データベースに保存することも、テキスト ファイルを使用して保存することもできます。テキスト ファイルは通常、XML、JSON、または YA を使用します。

C言語學(xué)習(xí)に関するヒントと経験の共有 C言語學(xué)習(xí)に関するヒントと経験の共有 Feb 19, 2024 pm 09:20 PM

C 言語入門ガイド: 學(xué)習(xí)スキルと経験の共有 はじめに: C 言語は、古典的なプログラミング言語として、常にプログラマーに愛され、好まれてきました。初心者として C 言語を?qū)W習(xí)すると、いくつかの困難や課題に直面するかもしれません。この記事は、初心者がこの言語をよりよく習(xí)得できるように、C 言語を?qū)W習(xí)する際のヒントと経験を共有することを目的としています。 1. 良い基礎(chǔ)を築く: 高級プログラミング言語である C 言語をマスターするには、良い基礎(chǔ)が必要です。まず、C 言語の基本的な文法規(guī)則を?qū)W習(xí)して理解し、変數(shù)の定義と使用法、関數(shù)の記述と呼び出しを習(xí)得する必要があります。

See all articles