[過去ログ]
【UE4】Unreal Engine 4 part6 [無断転載禁止]©2ch.net (1002レス)
【UE4】Unreal Engine 4 part6 [無断転載禁止]©2ch.net http://mevius.5ch.net/test/read.cgi/gamedev/1486556179/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
596: 名前は開発中のものです。 [sage] 2018/01/02(火) 19:14:21.88 ID:lnqzfGPL キャストについて簡単にサラッと説明はできないが鬼門ってほど難しくはないよ 例を上げてからごちゃごちゃ書いてみるわ UE4 のノードに GetPlayerPawn っていのがある このノードでインスタンスを取得して実際に自分が作ったオリジナルのプレイヤークラスとして使う場合に GetPlayerPawn -> Cast to MyPlayerCharacter とキャストして扱うのが、もっとも多いのではないだろうか多分 このノード、取れるインスタンスのクラスは Pawn なんだよね でも、多くの人の Default Pawn Class には、自分で作った 恐らく Character クラスを元に作ったオリジナルなプレイヤーを設定しているはずで Pawn なんてクラスじゃないし せっかく作った関数も呼べない でも間違いなく自分が作ったオリジナルのプレイヤーのインスタンスが取得できている これにはクラスの継承関係が関係するんだけど少し難しくなるので後ほど このノードで取得したインスタンスは間違いなく自分の作ったオリジナルプレイヤーなのだけど クラスの型は UE が用意している Pawn なので、自分があとで作った関数なんぞ知らない 当然その関数を実行することはできない、それを解決するのがキャストというわけ キャストで自分で作った方のオリジナルのクラスだと宣言してやることで解決する もちろんなんでもかんでもキャスト出来るわけじゃない キャスト可能なのは、そのインスタンスのクラスが、どのような親クラスを持って生まれたのかによって決まる 今回のケースは以下のような親子構造を元に MyPlayerCharacter として登場したので Character にも Pawn にも Actor にも Object にもなれる、逆に言うとそれ以外にはなれない Object └Actor └Pawn └Character └MyPlayerCharacter http://mevius.5ch.net/test/read.cgi/gamedev/1486556179/596
597: 名前は開発中のものです。 [sage] 2018/01/02(火) 19:15:10.54 ID:lnqzfGPL ちなみに Actor として生まれたやつは、MyPlayerCharacter にはなれないよ。 親は語れるけど未知の子供は語れない まるで俺らのようだね http://mevius.5ch.net/test/read.cgi/gamedev/1486556179/597
598: 名前は開発中のものです。 [sage] 2018/01/02(火) 19:18:16.78 ID:lnqzfGPL 個人的な見解だけど キャストはオブジェクト指向的にロジックを抽象的に扱う場合は多用するが 個人制作の範囲なら特になくてもこまらないだろうなとは思う、多分、俺は死ぬけど エンジンが提供してる関数とかは抽象的に扱ってるものが多いので それこそ GetPlayer〜シリーズとかね、それらを扱うのに使うくらいじゃないかなぁ http://mevius.5ch.net/test/read.cgi/gamedev/1486556179/598
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.392s*