x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

ダメージを減らし続けたい

UE4初心者です。UE4.13.2を使用しています。 ロケットを操作して地球を目指すゲームを作っています。「エネルギーを使う」という表現をしたいため、ダメージを減らし続けるようなブループリントを組みたいのですが、やり方がよくわかりません。 DamageTypeというものを使ってできるといった記事も見かけたのですが、作り方がわかりません。 よろしくお願いします。

Product Version: UE 4.13
Tags:
more ▼

asked Dec 09 '16 at 02:03 AM in Japanese

avatar image

clintbenitoite
9 4 5 7

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

3 answers: sort voted first

こんにちは DamageTypeを使わずに自分で作ればいいんじゃないんですか? ActorのTickで、毎回HPを減らせばいいと思います。

簡単な理論で: Tick -> HP = HP - DeltaSec * HPDrainPerSec HPは自分で作ったものでタイプをFloatにして、同じくHPDrainPerSecを設定。 例えば、HPをデフォールトに100に設定して、HPDrainPerSecを10にしたら、10妙後にHPは0に減らします。

more ▼

answered Dec 09 '16 at 02:42 AM

avatar image

honya15
83 8 8 12

avatar image clintbenitoite Dec 09 '16 at 05:24 AM

Tickを使って動くということは確認できました。返答ありがとうございます。

それと申し訳ありません、説明が足りませんでした…。 spaceバーを押している間だけエンジンを使う(ダメージが減り続ける)という操作にしたいのですが、Tickもインプットアクションもイベントノードなので、その場合の対処法がわかりません。

avatar image honya15 Dec 09 '16 at 05:59 AM

この場合、PlayerControllerでキーを押すイヴェントと離すイベントを受け取って、コントロールされてるPawnにそれを送ること。 Pawnがそれを保存し、Tickが起こるときに押してる間だけにHPを減らすこと。 単純に言うとこんな感じになります: PlayerController: On Space Pressed -> GetControlledPawn -> Cast to MyPawn -> Set SpacePressed true On Space Released-> GetControlledPawn -> Cast to MyPawn -> Set SpacePressed false

Pawn: Tick: Branch ( SpacePressed ) -> HP = HP - DeltaSec * HPDrainPerSec

すみません、説明が苦手で・・ これで分からなかったら後で例えを用意します

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

TImerEventを使用してはどうですか?
spaceを押すと0.1秒毎にEventLostEnergyが発生するタイマーを作成します。
spaceを話すとタイマーが停止します。
EventLostEnergyではEnergy(デフォルト値:100)が-1されます。clampにて上限下限の設定をしています。
スペルミスあるかも
alt text

more ▼

answered Dec 09 '16 at 06:22 AM

avatar image

duks1226
34 1 5 7

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

御二人の方法でできました!てっきりDamageTypeを使ってやるものだと思い込んでいたので、教えていただいてとても勉強になりました、本当にありがとうございます!

more ▼

answered Dec 11 '16 at 07:58 AM

avatar image

clintbenitoite
9 4 5 7

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question