Тёмный

レトロゲームっぽい画面を作る 【ゲーム・プログラミング講座】【JavaScriptサンプル】 

ヘロンの数学ちゃんねる
Подписаться 46 тыс.
Просмотров 42 тыс.
50% 1

Опубликовано:

 

14 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 46   
@heron-no-suugaku
@heron-no-suugaku 3 года назад
【追記】サンプルを数行だけ改良して、ひよこ?がタイルの裏へ回れるようになりました🐤
@1997kyfkt201
@1997kyfkt201 3 года назад
数学とプログラミングの基礎が学べる素晴らしい動画です。 偶然にも中学生の子供が「JavaScript でゲームを作ってみたい」と言っていたので、丁度よかったです。
@ちゃま-s5w
@ちゃま-s5w Год назад
等角図、勉強になります。
@EverydayUnity
@EverydayUnity 3 года назад
このチャンネル好きです
@user-RaahNeko
@user-RaahNeko 3 года назад
凄いチャンネルを発見してしまい興奮しています!最後の〆のところで50人登録っておっしゃっていますが、半年ちょっとでもう3万人ですね!凄い凄い!これから全部見ます!仕事で役に立つテクニック満載で非常にためになります! ところで、課題のところで「ガバ」って単語が出てきますが、バグみたいな意味でいいんでしょうか?(ガバガバのガバ?) あと、JavaScriptでゲームを作りながら実はオブジェクト指向プログラミングの概念がわかっちゃいますって感じの講座をお願いしたいです!
@heron-no-suugaku
@heron-no-suugaku 3 года назад
ガバは「やらかし」「ミス」を意味するネットスラングです🐤(なお語源をたどっていくと……) しばらくはチャンネルの趣旨である「数学×プログラミング」の動画が主になると思いますが、いずれプログラミング主体の動画も作りたいですね。
@user-RaahNeko
@user-RaahNeko 3 года назад
@@heron-no-suugaku ご返信ありがとうございます!応援しています!
@studio_shimazu
@studio_shimazu 4 года назад
勉強になります。ありがとうございます。
@k.j8127
@k.j8127 3 года назад
こんなところにスタジオしまづ!
@ttu4661
@ttu4661 3 года назад
FFタクティクス思い出しました。こういう動画を見せると、学生の数学への抵抗感も減るんじゃないかと思いました。もっと早く出会いたかった…。
@glikovsky
@glikovsky 3 года назад
9:46 ハッピーバースデーのアレンジのようなBGM
@poppohato1345
@poppohato1345 3 года назад
いつも通りBGMが不穏で安心した
@sawakkuma
@sawakkuma 4 года назад
なるほどの連続です!何回も見直して理解を深めます!
@heron-no-suugaku
@heron-no-suugaku 4 года назад
見直してもわからない所があれば、遠慮なく質問してくださいね! 動画がガバっていることもあるので・・・(1敗)
@sinistergeek
@sinistergeek 3 года назад
You are cool. learned alot and reviewed what i learned!!! Thank You
@amatumo8709
@amatumo8709 3 года назад
すごくわかりやすい動画ありがとうございます。質問なのですが、クォータービュー上で弓矢のような放物線を描くにはどんなアルゴリズムが考えられますか?学生時代に実装しようとして挫折してしまいました、、、
@heron-no-suugaku
@heron-no-suugaku 3 года назад
いったんクォータービューは置いといて、普通の空間(ユークリッド空間)で矢の動きを考えて その座標(x,y,z)を、 11:02 で紹介している式 xa+yb+zc(a,b,cはクォータービューを描くための2次元ベクトル、 8:45 の原点から生えてるやつ) を用いて変換すればいいですね🐤 3次元だと話がややこしくなるので、ここではx座標を0に固定します 例えば、矢の座標(0,y,z)を求めるには…… www.wakariyasui.sakura.ne.jp/p/mech/rakutai/suihei.html この水平投射が使えそうです。 そのままでは使えませんが、2つの軸をそれぞれ「矢の向きの軸」「重力の向きの軸」として抽象的に見ると まず重力の向きは-z軸が対応しそうですね。矢の向きは、y軸を対応させるのが一番簡単でしょう。 対応を決めたら、↑のページで求めたxをy、yを-zとしてやれば、「y軸に並行に投げた矢の動き」が求まります。 あとはいま求めた(0,y,z)を xa+yb+zc に代入すると、クォータービューのどこに矢を描けば良いかが求まります。🐤
@amatumo8709
@amatumo8709 3 года назад
@@heron-no-suugaku めっちゃ早い返信ありがとうございます!返信を参考にしながら実装してみようと思います。ありがとうございます!!
@user-xx2gs5cl5k
@user-xx2gs5cl5k 3 года назад
見てて楽しい
@koolongkoolong
@koolongkoolong 3 года назад
BGMの使い方とかドバーッすき
@HelloIamTheGuy
@HelloIamTheGuy 3 года назад
原点からの floor(x) + floor(y) が小さい順にタイルを描画して、 let max_distance = lengthX + lengthY - 1; for (int dist = 0; dist < max_distance; dist++) { for (int x=0; x= lengthX || dist-x >= lengthY) continue; tile[dist-x][x].draw() if (floor(player.x) === x && floor(player.y) === dist-x) player.draw() } } みたいな感じじゃダメですかね? でも、そうするとひよこの体がタイルからはみ出してる時、隣のタイルの上に描画されたりされなかったり問題があるのか……? ひよこの体の幅を考えて、タイルの当たり判定にある程度マージンがあれば大丈夫かな。 難しい
@heron-no-suugaku
@heron-no-suugaku 3 года назад
実は数日前にそれに気づいて、サンプルを書き直したのです🐤 ご推察の通り、いくつかエッジケースはありますね(影が隠れる、ひよこがはみ出る、etc)
@東金-l2s
@東金-l2s 3 года назад
素晴らしいですね
@Ag-gt8yk
@Ag-gt8yk 3 года назад
裏に回ったらゲーム的に行くと消さなくていい気がします どっちかというと見せ方を変えたほうが ゲームっぽいですね よくあるポケモンの洞窟みたいに プレイヤーの周りを暗くして裏に回ったよって感じで見せたほうが プレイヤー位置もわかるのでユーザーが操作に困らなくて済みそうですね
@enikaita_mochi
@enikaita_mochi 3 года назад
カメラ側からひよこよりも高いパネルがあった場合に、 ひよこを消すor半透明にするという処理を入れれば何となくいけそうな気がする。 ただ、それだけだと、ひよこがパネルの半分移動したときどうするの?ということにもなるのか・・・難しい。
@やすけさん
@やすけさん 3 года назад
ぼくには わからないが ゆいいつわかったのは こいつはすごい ということです
@けけ-t7i2c
@けけ-t7i2c 2 года назад
このプログラムのひよこをキャラチップに置き換えるとなるとどのようなプログラムになるのでしょうか?最近javascriptを始めたてで、、、。無知で申し訳ありません。
@heron-no-suugaku
@heron-no-suugaku 2 года назад
ChickenDrawerクラスのdraw関数の中身を全部消して、image関数で画像を描けばできます🐤 細かいやり方については、こちら↓が参考になるかと思います。 qiita.com/SakaDKyo/items/7c3e766c7cbef7d452ac
@けけ-t7i2c
@けけ-t7i2c 2 года назад
@@heron-no-suugaku ご丁寧にありがとうございます!
@けけ-t7i2c
@けけ-t7i2c 2 года назад
@@heron-no-suugaku let chicken; let img; function preload() { img = loadImage(ひよこの画像) } class ChickenDrawer{ /** * ひよこ?を描画するコマンド * @param {Vec2} pos 足元の位置ベクトル * @param {number} angle Z軸の角度 * @param {number} animFrame アニメーションの何フレーム目を再生するか * @param {number} depth */ constructor(x, y, image) { this.x = x; this.y = y; this.image = image } draw() { image(this.image, this.x, this.y, this.image.width, this.image.height); } } こういうことでは無いですよね。 理解できていなくてすみません。
@heron-no-suugaku
@heron-no-suugaku 2 года назад
@@けけ-t7i2c let img; function preload() { img = loadImage(ひよこの画像); } ↑を追加するのは合ってます。 constructorを弄ってしまっていますが、何も弄らなくて大丈夫です(むしろ弄るとマズいです) 上手くいかない理由は、せっかく読み込んだimgを使わずにthis.imageとしてしまっているせいかなと思います。 追記:近々勉強会を行います。Zoomでリアルタイムにご相談いただけます。チャットだけでは分かりづらいところですから、ぜひ参加ご検討いただければと思います。🐤 heron-no-suugaku.sakura.ne.jp/
@けけ-t7i2c
@けけ-t7i2c 2 года назад
@@heron-no-suugaku 一定方向しか向きませんがなんとかキャラクターが動くことができました!ご丁寧にありがとうごさまいました。また機会があれば勉強会参加させて頂きます。
@maximilianocastillo4567
@maximilianocastillo4567 3 года назад
I rlly enjoy this dud
@Hasasinful
@Hasasinful 3 года назад
Çok teşekkürler. Tileset nasıl yapılır hep merak ediyordum. this.video = sugoi;
@CapGame_
@CapGame_ 3 года назад
「メインループ」って古いのか…()
@heron-no-suugaku
@heron-no-suugaku 3 года назад
ゲームエンジンが普及してから死語になっちゃいましたね・・
@まろまろカリス
@まろまろカリス 3 года назад
0:44 ここカカポ
@gamanium2299
@gamanium2299 3 года назад
Qバート作れるじゃん!
@ar951
@ar951 3 года назад
どうでもいいけどvertexの複数形はverticesらしい
@52te62
@52te62 3 года назад
一応余接は大学の範囲ですね 多分数学3まで履修してる人は知ってる人がほとんどだと思いますが
@typumpkin1253
@typumpkin1253 2 года назад
ヒヨコちゃんがまさか絵ではなかったと
@はるるたけべえ
@はるるたけべえ 3 года назад
ここまで見てきたけど、イントネーションが気になって笑えてなにも頭に入ってこないw
@youtubefan1822
@youtubefan1822 3 года назад
登録しました宜しくお願いします
@kskj5672
@kskj5672 3 года назад
なんでプログラミングの世界だけ「矩形(くけい)」という死語で呼ぶのでしょうかね? 現代の小中学校では「長方形」としか習わないのに。
@大村むら
@大村むら 3 месяца назад
私が昔先輩から教わったところでは、プログラミング畑では長方形と矩形は別のものだそうです。長方形のうち、水平であるものを矩形と呼ぶ慣習があるとか。 ただ検索しても出てこないので真偽はちょっと怪しいです。その職場だけのローカルな慣習か、あるいは先輩が私に嘘を教えて可笑しんでいただけかも知れません。
Далее
Grand Final | IEM RIO 2024 | BO5 | КРNВОЙ ЭФИР
6:35:24
Game of Life - Coding for Beginners
17:46
Просмотров 66 тыс.
Dear Game Developers, Stop Messing This Up!
22:19
Просмотров 719 тыс.
【ゆっくり】40分でUnity【見るだけ】
39:59
Roguelike from scratch - Coding Commentary
7:14
Просмотров 58 тыс.
Roguelike dungeon - Coding Commentary
8:32
Просмотров 56 тыс.
The Weird History of JavaScript
12:09
Просмотров 1,2 млн