मैं सी # के लिए बहुत नया हूं। मैं सी # और एकता को बेहतर सीखने में मदद करने के लिए एकता में कुछ बना रहा हूं।सी # और यूनिटी 3 डी जबकि कुंजी दबाया जा रहा है
Input.GetKeyDown(KeyCode.UpArrow))
केवल एक बार आग जब भीतर रखा:
मुझे पता है क्यों चाहते
void Update()
के बाद से अद्यतन एक पाश, यह क्यों निकाल दिया नहीं है, जबकि मैं कुंजी को दबाए रखें है (में मेरा मामला एक क्षेत्र को स्थानांतरित करने का कारण बनता है)?
मैंने इसे दो बूल का उपयोग करके काम करने में कामयाब रहा है, जब कुंजी दबाया जाता है और रिलीज़ किया जाता है।
यहाँ मेरी पूरी स्क्रिप्ट है कि मैं एक क्षेत्र के लिए कदम और अनुकरण त्वरण/मंदी के साथ खेल रहा हूँ है:
using UnityEngine;
using System.Collections;
public class sphereDriver : MonoBehaviour {
int x ;
bool upPressed = false ;
bool downPressed = false ;
void Start()
{
x = 0 ;
}
void Update()
{
if(x > 0) {
x -= 1 ;
}
if(x < 0) {
x += 1 ;
}
if(Input.GetKeyDown(KeyCode.UpArrow))
{
upPressed = true ;
}
else if(Input.GetKeyUp(KeyCode.UpArrow))
{
upPressed = false ;
}
if(upPressed == true)
{
x += 5 ;
}
if(Input.GetKeyDown(KeyCode.DownArrow))
{
downPressed = true ;
}
else if(Input.GetKeyUp(KeyCode.DownArrow))
{
downPressed = false ;
}
if(downPressed == true)
{
x -= 5 ;
}
transform.Translate(x * Time.deltaTime/10, 0, 0) ;
}
}
धन्यवाद! चूंकि वे दो कार्य एकता विशिष्ट हैं, वैसे ही मैंने मूल रूप से ऐसा किया होगा जो मैं केवल सी # में प्राप्त करने के लिए सबसे अधिक करूँगा? – imperium2335
हां, यह करने का यह एक आम तरीका होगा। – redtuna