質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
canvas

HTML5の<canvas>要素用のタグです。CanvasはHTML5から導入された、二次元の図形描写が可能な要素です。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

2243閲覧

Canvasを利用したアニメーション作成について

realize18

総合スコア13

canvas

HTML5の<canvas>要素用のタグです。CanvasはHTML5から導入された、二次元の図形描写が可能な要素です。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2016/01/13 03:48

タイトルの通りCanvasを利用してアニメーションの作成を行っています。
アニメーションの内容としてはマージソートを作っています。
キーボードから入力された数値を適用し、それをソートするアニメーションを考えているのですが入力された数値をアニメーションとして動かすことは可能なのでしょうか?
数値自体が画像データとして出力されてしまい、数値としての値を持つか判断がつかずわかりません。

ご教授よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Canvas に描かれている内容を数値として、再利用するのはおそらく不可能だと思います。
ただ、今回の場合は、キーボードから入力された数値を変数(配列?)に保存しておけば良いだけではないでしょうか。

「キーボードから入力された数値をソートする」と「Canvas でアニメーションを行う」を別の物として考えることが無理ということであれば、話が変わってきますが。。。

投稿2016/01/14 00:16

usk

総合スコア397

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

realize18

2016/01/14 04:32

ご回答ありがとうございます。 その方法だとキーボードで入力された値で行ったソートするプログラムをアニメーションに連動させて動かす方法がわからず困っています。
usk

2016/01/19 00:35

まず、大前提として、、、 1. アニメーションを行うプログラムを記述することは可能でしょうか? 2. マージソートを行うプログラムを記述することは可能でしょうか? 両者を正しく理解・記述できるのであれば、1の後に2を行う(もしくはその逆)で実現できるはずです。 もし、リアルタイムに入力値を保存した配列を操作したいということでしたら、アニメーションの部分部分(隣り合う数値が入れ替わったタイミング)で配列を操作すれば良いだけだと思います。 「A, C, D, F」の配列があったとして、Bが入力値の場合、、、 1.FとBの入れ替え 2.DとBの入れ替え 3.CとBの入れ替え → ソート完了 となると思いますが、1~3のタイミングで配列を書き換えればよいだけです。 なお、Javascript でソートを行いたいのであれば、下記のサイトにコードがあります。 (私のほうでは動作検証を行っておりませんが・・・) http://110chang.com/knowledge/javascript-sort-argorythm/
realize18

2016/01/19 22:56

1についてはあまり理解が出来ていないため、現状不可能です。 2についてですが、JavaScriptでソートを行うプログラムを記述は可能なのですが、キーボード入力によって値を与えてそれをソートすることが出来ない現状です。 何か参考になるものなどがあればご教授お願いします。
usk

2016/01/20 00:17

どうやったらいいかわからないという時は、具体的に行うべきこと(手順など)を細かく分解し、それを元にできること、できないことを洗い出してみてください。 どんどん細かくすることで、必要なものが見えてくると思います。 私が同様の課題を与えられた場合、まずは下記を考えます。 1. キーボードの入力値をJavascriptで取得する方法を実現する 2. 入力内容を維持する方法を実現する(1にて取得した値を、配列に格納する) 3. 入力したデータをソートする方法を実現する 4. Canvas 領域にて文字を出力する方法を実現する 5. Canvas 領域にて、文字を動かすアニメーションを実現する 1. キーボードの入力をJavascriptで取得する方法を実現する → OnKeyDown, OnKeyUp, OnClick 等で可能 ただし、2桁以上の整数を取り扱う必要があるなら、input タグ + Button アクションのほうが無難化も。 例: http://phpjavascriptroom.com/ 2. 入力内容を維持する方法を実現する 1にて取得した値を、配列に格納する 3. 入力したデータをソートする方法を実現する 配列をソートするJavascript を記載する 4. Canvas 領域にて文字を出力する方法を実現する 5. Canvas 領域にて、文字を動かすアニメーションを実現する 下記サイト等を参考に、自分なりのアニメーションを構築する(ぉ 例: http://qiita.com/nekoneko-wanwan/items/33afa5d20264c83b2bd1
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問