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

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

新規登録して質問してみよう
ただいま回答率
85.47%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

1615閲覧

Input SystemにてPress onlyのメソッドがRelease時にも呼び出される

sasakaman

総合スコア53

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2020/11/01 02:04

前提・実現したいこと

UnityのInput Systemを使用して、プレイヤーの弾の発射処理を実装しています。

ActionMapsのActionにて、Action TypeをButton、InteractionにPressを追加し、Trigger behaviorをPress onlyとしましたが、Press時とRelease時にメソッドが呼び出されます。

該当のソースコード

ActionMapsの画像
イメージ説明

コールバックを実装しているスクリプト
実装はインターフェイスを使用しています。

C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.InputSystem; 5 6public class Controller : MonoBehaviour, PlayerInput.IPlayerActions 7{ 8 private PlayerInput.PlayerActions input; 9 10 public void OnShot(InputAction.CallbackContext context) 11 { 12 //キー入力時に行う処理 13 hoge(); 14 } 15 //以降省略 16}

試したこと

Trigger behaviorをPress OnlyにしたのちInput ActionsのC# classを生成しましたが、改善されませんでした。

if (context.performed)では正常な動作を確認しています。

使用のバージョン

Unity 2019.4.12f1
Input System 1.0.0 - April 29,2020
Microsoft Visual Studio Community 2019 Version 16.7.7

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

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

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

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

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

guest

回答1

0

ベストアンサー

いろいろ試してみましたが、Interactionsは"Press"ではなく"Tap"を使うとRelease時に呼ばれなくなるようです。

イメージ説明

投稿2020/11/19 05:59

JunSuzukiJapan

総合スコア312

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

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

sasakaman

2020/11/20 02:04

確認できました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問