Unity - แอนิเมชั่นการหมุนผ่านโค้ด? [ทำซ้ำ]

ขณะนี้ฉันมีการหมุนวัตถุอย่างง่ายผ่านโค้ดโดยใช้ eulerAngles เช่นนี้ (นี่เป็นเพียงตัวอย่างสั้น ๆ ):

float rotateSpeed = 200;
float rotateZ = 0.0f;
public KeyCode FTurn; 

void FNotation(){
    if (Input.GetKeyDown(FTurn)){
       GetComponent<Transform>().eulerAngles = new Vector3(0.0f, 0.0f, rotateZ += 90f)
    }
}

void Update(){
    FNotation();
}

รหัสนี้ทำงานได้ดีเมื่อหมุนวัตถุของฉันเมื่อฉันกด 'F' ปัญหาเดียวคือมันทำหน้าที่นี้ใน 1 เฟรมเนื่องจากฟังก์ชันอัปเดต ฉันรู้ว่าฉันสามารถสร้างภาพเคลื่อนไหวและเรียกสิ่งเหล่านี้ได้เมื่อกดแทน แต่ฉันต้องการทราบว่ามีวิธีผ่านโค้ดเพื่อให้คิวบ์ มองเห็นได้หรือไม่ หมุน แทนที่จะหมุนเพียง 1 เฟรมใช่ไหม

เมื่อฉันกด หรือ กดปุ่ม F ค้างไว้ วัตถุของฉันจะหมุน 90 องศา แต่จะอยู่ใน 1 เฟรมเท่านั้น แต่ฉันต้องการให้วัตถุหมุน 90 องศาด้วยสายตาเฉพาะเมื่อฉันกดปุ่ม 'F' เพียงครั้งเดียว ! ฉันไม่ต้องการที่จะถือกุญแจในขณะที่วัตถุหมุนอยู่ตลอดเวลา


person toadflax    schedule 19.02.2018    source แหล่งที่มา
comment
คุณต้องการให้หมุนต่อไปจนกว่าจะปล่อยกุญแจหรือไม่?   -  person Programmer    schedule 19.02.2018
comment
ไม่จริง แค่กดปุ่มครั้งเดียวเท่านั้น! ขออภัยฉันควรจะชี้แจงว่า   -  person toadflax    schedule 19.02.2018
comment
หมุนต่อไปเมื่อมีการกดปุ่ม? เมื่อไหร่ควรหยุดหมุน? โปรดแก้ไขคำถามของคุณ เพิ่มสิ่งที่คุณคาดหวังว่าจะเกิดขึ้นจริง และสิ่งที่เกิดขึ้นในขณะนี้ คำถามของคุณไม่ชัดเจน   -  person Programmer    schedule 19.02.2018
comment
@Programmer เพิ่งแก้ไขคำถามของฉันหวังว่าจะทำให้สิ่งต่าง ๆ ชัดเจนขึ้น   -  person toadflax    schedule 19.02.2018
comment
ตกลง. คุณสามารถทำได้ด้วยฟังก์ชัน coroutine การทำซ้ำจะแสดงวิธีการหมุนวัตถุไปยังมุมใดก็ได้เมื่อเวลาผ่านไป มันแสดงวิธีการหมุนเพื่อหมุนตามเวลา เลือกสิ่งที่คุณต้องการ เพียงเริ่มโครูทีนด้วยหนึ่งใน 2 ฟังก์ชันนั้นเมื่อคุณกดปุ่ม   -  person Programmer    schedule 19.02.2018