国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目次
konva.jsのコマンドモードに基づいて、redo redo機能の実裝
ホームページ ウェブフロントエンド jsチュートリアル konva.jsにコマンドクラスのコマンドクラスを実裝して、機能を元に戻し、redo機能をサポートする方法は?

konva.jsにコマンドクラスのコマンドクラスを実裝して、機能を元に戻し、redo機能をサポートする方法は?

Apr 04, 2025 pm 04:30 PM
ai red

konva.jsにコマンドクラスのコマンドクラスを実裝して、機能を元に戻し、redo機能をサポートする方法は?

konva.jsのコマンドモードに基づいて、redo redo機能の実裝

この記事では、コマンドモードを使用して、konva.js描畫アプリケーションに元に戻す(ctrl z)およびredo(ctrl y)関數を実裝する方法を紹介します。グラフィカル操作をコマンドオブジェクトにカプセル化し、コマンドスタックを使用してこれらの操作を管理して、グラフィカル編集のフォールバックと進捗を実現します。

まず、基本的なCommandクラスを定義します。

クラスコマンド{
  constructor(){
    this.states = []; //ステートスナップショットを保存するために使用}

  実行する() {
    新しいエラーをスローします( '実行メソッドを実裝する必要があります');
  }

  undo(){
    新しいエラーをスローします(「元に戻すメソッドを実裝する必要があります」);
  }

  Savestate(STATE){
    this.states.push(state);
  }

  restorestate(){
    this.states.pop()||を返しますヌル; //前の狀態(tài)に戻るか、null
  }
}

次に、長方形を描畫するコマンドなど、特定のコマンドクラスを作成します。

クラスDrawRectangLeCommand拡張コマンド{
  コンストラクター(ステージ、レイヤー、rect){
    素晴らしい();
    this.stage = stage;
    this.layer = layer;
    this.rect = rect;
  }

  実行する() {
    this.savestate(this.layer.tojson()); //現在のレイヤーの狀態(tài)を保存しますthis.layer.add(this.rect);
    this.layer.draw();
  }

  undo(){
    this.rect.destroy();
    const prevstate = this.restorestate();
    if(prevstate){
      this.layer.destroychildren(); //レイヤーをクリアするthis.layer = konva.node.create(prevstate、this.stage); //前の狀態(tài)this.stage.add(this.layer)を復元します。
      this.layer.draw();
    }
  }
}

次に、コマンドマネージャーを実裝します。

 class commandmanager {
  constructor(){
    this.undostack = [];
    this.redostack = [];
  }

  executeCommand(command){
    command.execute();
    this.undostack.push(command);
    this.redostack = []; //新しいコマンドを実行した後、redoスタックをクリアします}

  undo(){
    if(this.undostack.length === 0)return;
    const command = this.undostack.pop();
    command.undo();
    this.redostack.push(command);
  }

  redo(){
    if(this.redostack.length === 0)return;
    const command = this.redostack.pop();
    command.execute();
    this.undostack.push(command);
  }
}

最後に、konva.jsアプリケーションで使用します。

 const stage = new konva.stage({
  コンテナ:「コンテナ」、
  幅:window.innerwidth、
  高さ:window.innerheight
});

const layer = new konva.layer();
stage.add(層);

const commandmanager = new CommandManager();

stage.on( 'click'、(e)=> {
  const rect = new konva.rect({
    X:e.evt.layerx、
    Y:e.evt.layery、
    幅:50、
    高さ:50、
    塗りつぶし:「赤」、
    Draggable:True
  });

  const command = new DrawRectangleCommand(ステージ、レイヤー、rect);
  commandmanager.executecommand(command);
});

document.addeventlistener( 'keydown'、(e)=> {
  if(e.ctrlkey && e.key === 'z'){
    commandmanager.undo();
  } else if(e.ctrlkey && e.key === 'y'){
    commandmanager.redo();
  }
});

このコードは、単純な長方形の図面を実裝し、やり直しを元に戻します。 Commandクラスを拡張して、動き、スケーリング、回転などの他のグラフィカル操作をサポートできます。各操作のexecute方法で現在の狀態(tài)を保存し、元の狀態(tài)をundo戻す方法で復元することを忘れないでください。これにより、元に戻す機能が正しく機能するようになります。

以上がkonva.jsにコマンドクラスのコマンドクラスを実裝して、機能を元に戻し、redo機能をサポートする方法は?の詳細內容です。詳細については、PHP 中國語 Web サイトの他の関連記事を參照してください。

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

ホット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 統合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

通貨サークルの人気が戻ってきましたが、なぜ賢い人たちが靜かに自分のポジションを増やし始めたのですか?オンチェーンデータの傾向を見て、次のラウンドのウェルスパスワードを把握してください! 通貨サークルの人気が戻ってきましたが、なぜ賢い人たちが靜かに自分のポジションを増やし始めたのですか?オンチェーンデータの傾向を見て、次のラウンドのウェルスパスワードを把握してください! Jul 09, 2025 pm 08:30 PM

市場の狀況が回復するにつれて、ますます多くの賢明な投資家が通貨サークルでのポジションを靜かに増加させ始めました。多くの人が、ほとんどの人が待って見たとき、何が彼らを決定的に取るのか疑問に思っていますか?この記事では、オンチェーンデータを介した現在の傾向を分析して、読者がスマートファンドの論理を理解し、次のラウンドの潛在的な富の成長機會をよりよく把握できるようにします。

暗號通貨の主流の公共チェーンは何ですか? 2025年の暗號通貨主流の公共チェーンのトップ10ランキング 暗號通貨の主流の公共チェーンは何ですか? 2025年の暗號通貨主流の公共チェーンのトップ10ランキング Jul 10, 2025 pm 08:21 PM

パブリックチェーンフィールドのパターンは、「1つのスーパー、多くの強いもの、100の花が咲く」という傾向を示しています。イーサリアムは依然として生態(tài)學的な堀でリードしていますが、ソラナ、雪崩、その他は挑戦的なパフォーマンスです。一方、重要なインフラストラクチャである相互運用性に焦點を當てたPolkadot、Cosmosは、共存する複數のチェーンの將來の寫真を形成します。ユーザーと開発者の場合、どのプラットフォームが単一の選択肢ではないが、特定のニーズに基づいてパフォーマンス、コスト、セキュリティ、生態(tài)學的成熟度のトレードオフが必要です。

ビットコインは新しい高値を破り、ドゲコインが強くリバウンドし、イーサリアムはペースに追いつくでしょう ビットコインは新しい高値を破り、ドゲコインが強くリバウンドし、イーサリアムはペースに追いつくでしょう Jul 09, 2025 pm 08:24 PM

最近、ビットコインは新しい高値に達し、ドッグコインは強いリバウンドを案內し、市場は暑かった。次に、市場ドライバーと技術的側面を分析して、イーサリアムがまだ上昇に従う機會がまだあるかどうかを判斷します。

Stablecoinとは何ですか? Douyinのホット検索が議論されているのはなぜですか? Stablecoinとは何ですか? Douyinのホット検索が議論されているのはなぜですか? Jul 09, 2025 am 06:03 AM

Stablecoinsは、米ドルなどの資産に固定されており、安定した価値を維持することを目指している暗號通貨です。それらは主に3つのタイプに分かれています:フィアット通貨擔保、暗號通貨の擔保、アルゴリズム。 1. USDTやUSCDなどのFIAT通貨擔保タイプは、米ドルの準備金によってサポートされています。 2。DAIなどの暗號通貨の擔保タイプは、他の通貨を過剰に擔保する必要があります。 3.アルゴリズムは、供給を調整するためにスマートコントラクトに依存していますが、高いリスクがあります。 Douyinなどのプラットフォームで熱く議論されている理由には、次のようなプラットフォームが含まれます。ヘッジツールとして、暗號市場が落ちるとき、初心者が暗號世界に參入するための橋、Defiでの高利回りの財務管理を取得する方法、および低コストの國境を越えた支払いの適用。 Stablecoinsを入手するには、Binance、Ouyi、Huobiなどの主流の交換を通じて取引できます。

カルダノのスマートコントラクトの進化:2025年のアロンゾのアップグレードの影響 カルダノのスマートコントラクトの進化:2025年のアロンゾのアップグレードの影響 Jul 10, 2025 pm 07:36 PM

CardanoのAlonzo Hard Forkアップグレードは、Plutus Smart Contractプラットフォームを導入することにより、Cardanoをバリュー転送ネットワークから完全に機能的なスマートコントラクトプラットフォームに変換しました。 1。Plutusは、強力な機能、セキュリティの強化、予測可能なコストモデルを備えたHaskell言語に基づいています。 2。アップグレード後、DAPPSの展開が加速され、開発者コミュニティが拡大され、DefiおよびNFTエコシステムが急速に発展しています。 3。2025を見て、カルダノの生態(tài)系はより成熟して多様になります。 Basho時代のスケーラビリティの改善、クロスチェーンの相互運用性の向上、Voltaire時代の分散統治の進化、および企業(yè)レベルのアプリケーションによる主流の採用の促進との組み合わせて、CardanoはCardanoが持っています

2025年に投資する価値があるトップ5(最新のデータを使用) 2025年に投資する価値があるトップ5(最新のデータを使用) Jul 09, 2025 am 06:06 AM

2025年に最も価値のある5つのスタブコインは、テザー(USDT)、USDコイン(USDC)、DAI(DAI)、First Digital USD(FDUSD)、TrueUSD(TUSD)です。

誰がStablecoinsを発行しますか? stablecoinsとは何ですか? 誰がStablecoinsを発行しますか? stablecoinsとは何ですか? Jul 09, 2025 pm 06:24 PM

Stablecoinsは、米ドルなどのFiat通貨を固定することにより、価格の安定性を維持する暗號資産です。それらは主に3つのカテゴリに分かれています:フィアット通貨擔保、暗號資産の擔保、アルゴリズムの安定性。 1。USDTはテザーによって発行され、最大の市場価値と最高の流動性を備えたスタブコインです。 2。USDCは、CircleとCoinbaseによって発売されたCenter Allianceによってリリースされ、その透明性とコンプライアンスで知られています。 3. DAIは、暗號資産の過剰な協力化を通じてMakerdaoによって生成され、Defiフィールドのコア通貨です。 4。BusdはPaxosと協力して開始され、米國によって規(guī)制されていますが、中止されています。 5。TUSDは、サードパーティのエスクローアカウントを通じて高い透明性予備の検証を実現します。ユーザーは、Binance、Ouyi、Huobiなどの集中交換を使用できます

2025 Crypto Market(最新のアップデート)でトップ20のトークンランキングをリードする 2025 Crypto Market(最新のアップデート)でトップ20のトークンランキングをリードする Jul 10, 2025 pm 08:48 PM

2025年のトップ20の最も有望な暗號資産には、主にパブリックチェーン、レイヤー2、AI、DEFI、ゲームなどの複數のトラックをカバーするBTC、ETH、SOLなどが含まれます。 1.BTCは、デジタルイエローメタルプロパティとETFの普及により市場をリードし続けています。 2.スマートコントラクトプラットフォームのステータスとアップグレードにより、エコシステムを統合します。 3.ソルは、高性能の公共チェーンと開発者コミュニティで際立っています。 4.Linkは、実際のデータを接続するOracleのリーダーです。 5.RNDRは、分散型GPUネットワークサービスAIニーズを構築します。 6.Imxは、ゼロガスのない環(huán)境を提供するためにWeb3ゲームに焦點を當てています。 7. ARBは、成熟したレイヤー2テクノロジーと巨大なdefiエコシステムでリードします。 8.マティックは、マルチチェーンの進化を通じてイーサリアムの価値層になりました

See all articles