Refining the PickNow that you’ve got the metadata actions working for  การแปล - Refining the PickNow that you’ve got the metadata actions working for  ไทย วิธีการพูด

Refining the PickNow that you’ve go

Refining the Pick

Now that you’ve got the metadata actions working for the primary object, it’s time to revisit the cursor behavior. When you pick the objects, there are a couple of things that ought to happen. First, you should prevent the player from picking anything while the animation plays out. While you’re at it, it would also be nice to hide the cursor completely while the action is in play.
Let’s begin by making use of the processing variable you added earlier in the chapter. If there are no matches to the pick, nothing will happen, so it will make more sense to block picks and turn off the cursor as soon as the ProcessObject function is called. Let’s start with the picks.

1. Open the Interactor script.
2. Add the following line at the top of the ProcessObject function:
With the flag set, you will have to bypass both the mouse pick and the mouseover.

3. Add the following line to the OnMouseDown and OnMouseEnter functions, below the distance checks and at the top of the OnMouseExit function:

Next, you will have to decide when to turn the flag back off. If there is an animation, it should be turned off after that. You’ve already got a pause the length of the animation in the if postLoop section, but if it doesn’t have a loop animation, you’d have to add one as an else afterwards. If you are going to do that, you may as well move the one you’ve already got up above the if postLoop section.
4. Move the yield new WaitForSeconds(currentAnimationClip.length) line and its comment up out of the if(postLoop) line, just above its comment.
5. Below the if(postLoop) closing bracket, add the following:

If there was no animation, you will have to wait a token amount of time after playing the audio before turning off the flag. A second or so should do the job.

6. Inside the final else clause, under the ProcessAudio (currentSound), add the following:

7. Save the script.

8. Click Play and test by clicking the flower several times, watching the console report.

When the cursor once again changes color, you will know that your pick will go through. The flower doesn’t animate again, because it was set to state 2, unpickable, but the pick had to be processed to know that.
If you test the Rock, then the KeyAtRock, you will find that you can pick the KeyAtRock right away. The reason for the picking discrepancy is that the processing flag is not global; each instance of it belongs only to the object its script is on. This lets you block re-picks on the same object, but not picks on other objects. While this may at first sound undesirable, preventing the player from picking the newly revealed object immediately can prove frustrating.
You also may have noticed a real problem with the Rock. A drawback of the Store In Root (New) animation import type is that starting a new clip from the same Animation component stops the currently playing animation wherever it happens to be on the time line. Until the Legacy Animation is fully integrated into Mecanim, the easiest workaround is to duplicate the AnimationObjects group, deactivate or delete the Rock from the first group, and the rest of the objects from the second.
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
การกลั่นการรับหลังจากที่คุณได้มีการดำเนินการข้อมูลเมตาสำหรับออบเจ็กต์หลักการทำงาน เวลาได้เพื่อการทำงานของเคอร์เซอร์กลับไป เมื่อคุณเลือกวัตถุ มีสองสิ่งที่ควรจะเกิดขึ้น แรก คุณควรป้องกันผู้เล่นจากเบิกอะไรขณะเล่นภาพเคลื่อนไหวออก ขณะที่มัน มันก็ยังเป็นการซ่อนเคอร์เซอร์อย่างสมบูรณ์ในขณะที่การดำเนินการในการเล่นลองเริ่มต้น โดยการใช้ตัวแปรการประมวลผลที่คุณเพิ่มไว้ก่อนหน้านี้ในบทนี้ ถ้ามีไม่ตรงกับการรับ อะไรจะเกิดขึ้น ดังนั้นมันจะทำให้รู้สึกมากขึ้นบล็อกรับ และปิดเคอร์เซอร์เมื่อมีเรียกฟังก์ชัน ProcessObject เริ่มต้น ด้วยการ1. เปิดสคริปต์ Interactor2. เพิ่มบรรทัดต่อไปนี้ที่ด้านบนของฟังก์ชัน ProcessObject:ตั้งค่าสถานะ คุณจะต้องหลีกเลี่ยงการรับเมาส์และวางเมาส์3. เพิ่มบรรทัดต่อไปนี้ OnMouseDown และ OnMouseEnter ฟังก์ชัน เช็คระยะด้านล่าง และ ด้านบนของฟังก์ชัน OnMouseExit:ถัดไป คุณจะต้องตัดสินใจเมื่อจะปิดค่าสถานะกลับ ถ้ามีภาพเคลื่อนไหว มันควรจะถูกปิดหลังจากนั้น คุณได้หยุดชั่วคราวความยาวของการเคลื่อนไหวในถ้าส่วน postLoop แต่ถ้ามันไม่มีภาพเคลื่อนไหวเป็นห่วง คุณจะต้องเพิ่มเป็นตัวอื่นหลังจากนั้น ถ้าคุณจะทำเช่นนั้น คุณอาจเช่นย้ายหนึ่งคุณได้ค่าข้างต้นถ้า postLoop ส่วน4. ย้ายบรรทัด WaitForSeconds(currentAnimationClip.length) ใหม่ผลตอบแทนและความเห็นขึ้นจากสาย if(postLoop) เหนือความเห็น5. ด้านล่างปิดยึด if(postLoop) เพิ่มต่อไปนี้:ถ้ามีภาพเคลื่อนไหวไม่มี คุณจะต้องรอในระยะเวลาหลังจากเล่นเสียงก่อนที่จะปิดค่าสถานะโทเค็น วินาทีควรทำงาน6. ภายในประโยคอื่นสุดท้าย ภายใต้ ProcessAudio (currentSound), เพิ่มต่อไปนี้:7. บันทึกสคริปต์8. คลิกเล่น และทดสอบ โดยการคลิกที่ดอกไม้หลาย ๆ ครั้ง ดูรายงานคอนโซลเมื่อเคอร์เซอร์เปลี่ยนสีอีกครั้ง คุณจะรู้ว่า คุณเลือกที่จะไปผ่าน ดอกไม้ไม่เคลื่อนไหวอีก เพราะมันถูกตั้งค่าสถานะ 2, unpickable แต่ได้รับการประมวลผลจะรู้ว่าหากคุณทดสอบหิน แล้ว KeyAtRock การ คุณจะพบว่า คุณสามารถเลือกที่ KeyAtRock ทันที เหตุผลที่ต้องเบิกความขัดแย้งคือ ว่า ธงประมวลผลไม่สากล แต่ละอินสแตนซ์ของมันเป็นเพียงวัตถุของสคริปต์อยู่ นี้ช่วยให้คุณบล็อกใหม่รับบนวัตถุเดียวกัน แต่ไม่ได้รับบนวัตถุอื่น ๆ ในขณะนี้อาจที่แรกเสียงไม่พึงประสงค์ ป้องกันผู้เล่นจากเบิกวัตถุเปิดเผยใหม่ทันทีสามารถพิสูจน์น่าผิดหวังคุณยังอาจได้พบปัญหาจริงกับหิน คืนของที่เก็บในราก (ใหม่) ภาพเคลื่อนไหวชนิดการนำเข้าคือ ว่า คลิปใหม่ตั้งแต่ส่วนประกอบภาพเคลื่อนไหวเหมือนหยุดการเคลื่อนไหวที่กำลังเล่นอยู่ทุกที่มันเกิดขึ้นที่จะอยู่บนเส้นเวลา จนการเคลื่อนไหวแบบดั้งเดิมเป็นแบบครบวงจรใน Mecanim การแก้ปัญหาที่ง่ายที่สุดคือการ ทำซ้ำกลุ่ม AnimationObjects ปิดใช้งาน หรือลบหินจากการกลุ่มแรก และส่วนเหลือของวัตถุจากที่สอง
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
กลั่นรับของ

ตอนนี้ที่คุณได้มีการดำเนินการเมตาดาต้าที่ทำงานให้กับวัตถุหลักก็ถึงเวลาที่จะทบทวนพฤติกรรมของเคอร์เซอร์ เมื่อคุณเลือกวัตถุที่มีสองสิ่งที่ควรจะเกิดขึ้น ครั้งแรกคุณควรป้องกันไม่ให้ผู้เล่นจากการเลือกอะไรในขณะที่การเคลื่อนไหวเล่นออก ในขณะที่คุณกำลังที่มันก็ยังจะดีที่จะซ่อนเคอร์เซอร์สมบูรณ์ในขณะที่การดำเนินการอยู่ในการเล่น.
ขอเริ่มต้นโดยการใช้การประมวลผลของตัวแปรที่คุณเพิ่มก่อนหน้านี้ในบท หากไม่มีการแข่งขันที่จะเลือกไม่มีอะไรที่จะเกิดขึ้นจึงจะทำให้รู้สึกมากขึ้นเพื่อป้องกันการหยิบและปิดเคอร์เซอร์เร็วที่สุดเท่าที่ฟังก์ชั่น ProcessObject เรียกว่า เริ่มต้นให้กับหยิบ.

1 เปิดสคริปต์โต้ตอบด้วยได้.
2 เพิ่มบรรทัดต่อไปนี้ที่ด้านบนของฟังก์ชั่น ProcessObject นี้
กับชุดธงคุณจะต้องหลีกเลี่ยงทั้งเมาส์เลือกและวางเมาส์ได้.

3 เพิ่มบรรทัดต่อไป OnMouseDown และ OnMouseEnter ฟังก์ชั่นดังต่อไปนี้การตรวจสอบระยะทางและที่ด้านบนของฟังก์ชั่น OnMouseExit นี้:

ถัดไปคุณจะต้องตัดสินใจเมื่อเปิดธงกลับออก หากมีการเคลื่อนไหวก็ควรจะปิดหลังจากนั้น คุณมีอยู่แล้วหยุดยาวของภาพเคลื่อนไหวในถ้า postLoop ส่วน แต่ถ้ามันไม่ได้มีการเคลื่อนไหวห่วงคุณจะต้องเพิ่มเป็นอื่นในภายหลัง หากคุณกำลังจะไปทำเช่นนั้นคุณอาจรวมทั้งย้ายหนึ่งที่คุณได้ลุกขึ้นแล้วข้างต้นถ้า postLoop ส่วน.
4 ย้ายผลผลิต WaitForSeconds ใหม่ (currentAnimationClip.length) บรรทัดและแสดงความคิดเห็นของตนขึ้นมาจาก if (postLoop) สายเหนือความคิดเห็นของตน.
5 ดังต่อไปนี้ถ้า (postLoop) วงเล็บปิดเพิ่มต่อไปนี้:

ถ้าไม่มีภาพเคลื่อนไหวที่คุณจะต้องรอจำนวนสัญลักษณ์ของเวลาหลังจากที่เล่นเสียงก่อนที่จะปิดธง เป็นครั้งที่สองหรือดังนั้นควรทำงาน.

6 ภายในข้ออื่นสุดท้ายภายใต้ ProcessAudio (currentSound), เพิ่มต่อไปนี้:

7 บันทึกสคริปต์.

8 คลิกเล่นและการทดสอบโดยการคลิกที่ดอกไม้หลายครั้งดูรายงานคอนโซล.

เมื่อเคอร์เซอร์อีกครั้งเปลี่ยนสีคุณจะรู้ว่าเลือกของคุณจะผ่านไป ดอกไม้ไม่เคลื่อนไหวอีกครั้งเพราะมันถูกกำหนดให้รัฐ 2 unpickable แต่เลือกที่จะต้องมีการประมวลผลที่จะรู้ว่า.
ถ้าคุณทดสอบร็อคแล้ว KeyAtRock คุณจะพบว่าคุณสามารถเลือก KeyAtRock ได้ทันที . เหตุผลสำหรับความแตกต่างการเลือกที่เป็นที่ธงการประมวลผลไม่ได้เป็นระดับโลก; ตัวอย่างของมันในแต่ละเท่านั้นที่จะเป็นวัตถุสคริปต์ของมันอยู่บน นี้ช่วยให้คุณป้องกันการหยิบเรื่องบนวัตถุเดียวกัน แต่ไม่ได้หยิบวัตถุอื่น ๆ ขณะนี้ในตอนแรกอาจเป็นเสียงที่ไม่พึงประสงค์เพื่อป้องกันไม่ให้ผู้เล่นจากการเลือกวัตถุเปิดเผยใหม่ทันทีสามารถพิสูจน์ได้น่าผิดหวัง.
นอกจากนี้คุณยังอาจสังเกตเห็นปัญหาที่แท้จริงกับร็อค ข้อเสียเปรียบของร้านค้าในราก (ใหม่) ภาพเคลื่อนไหวประเภทการนำเข้าก็คือการเริ่มต้นคลิปใหม่จากองค์ประกอบนิเมชั่นเหมือนกันหยุดการเคลื่อนไหวที่กำลังเล่นอยู่ที่ใดก็ตามที่มันเกิดขึ้นจะต้องอยู่บนเส้นเวลา จนกระทั่งมรดกนิเมชั่นแบบครบวงจรใน Mecanim, วิธีแก้ปัญหาที่ง่ายที่สุดคือการทำซ้ำกลุ่ม AnimationObjects, ยกเลิกหรือลบออกร็อคจากกลุ่มแรกและส่วนที่เหลือของวัตถุจากที่สอง
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
ปรับเลือกตอนนี้คุณมีข้อมูลการกระทำทำงานวัตถุหลัก เวลาที่จะทบทวนพฤติกรรมของเคอร์เซอร์ เมื่อคุณเลือกวัตถุ มีคู่ของสิ่งที่ควรจะเกิดขึ้น แรกที่คุณควรจะป้องกันไม่ให้ผู้เล่นจากการเลือก อะไรในขณะที่ภาพเคลื่อนไหว เล่นออก ในขณะที่คุณทำมัน มันก็จะดีเพื่อซ่อนเคอร์เซอร์อย่างสมบูรณ์ในขณะที่การปฏิบัติการในการเล่นเริ่มโดยการใช้กระบวนการตัวแปรคุณกล่าวก่อนหน้านี้ในบท ถ้าไม่ตรงกับที่เลือก ก็จะไม่มีอะไรเกิดขึ้น ดังนั้นมันทำให้รู้สึกมากขึ้นเพื่อป้องกันการหยิบและปิดเคอร์เซอร์ทันทีที่ฟังก์ชัน processobject ที่เรียกว่า เริ่มด้วย เลือก1 . เปิด interactor สคริปต์2 . เพิ่มบรรทัดต่อไปนี้ที่ด้านบนของหน้าที่ processobject :กับธงตั้งไว้ คุณจะต้องหลีกเลี่ยงทั้งเมาส์เลือกและการโพสต์ .3 . เพิ่มบรรทัดต่อไปนี้เพื่อ onmousedown onmouseenter และฟังก์ชันด้านล่าง ระยะการตรวจสอบและที่ด้านบนของหน้าที่ onmouseexit :ถัดไปคุณจะต้องตัดสินใจว่าเมื่อเปลี่ยนสถานะไป ถ้าไม่มีการเคลื่อนไหวก็ควรจะปิดหลังจากนั้น เธอได้หยุดยาวของภาพเคลื่อนไหวในส่วน postloop หาก แต่ถ้ามันไม่ได้มีห่วงภาพเคลื่อนไหว , คุณจะต้องเพิ่มเป็นอีกหลังจากนั้น ถ้าคุณจะทำอย่างนั้น คุณอาจรวมทั้งย้ายคุณได้ขึ้นเหนือ ถ้าส่วน postloop .4 . ย้ายผลผลิต waitforseconds ใหม่ ( ความยาว currentanimationclip ) เส้นและข้อคิดเห็นออกจากถ้า ( postloop ) บรรทัดด้านบนความคิดเห็นของ5 . ด้านล่าง ( ถ้า postloop ) วงเล็บปิด เพิ่มต่อไปนี้ :ถ้าไม่มีภาพเคลื่อนไหว คุณจะต้องรอจำนวนโทเค็นของเวลาหลังจากเล่นเสียง ก่อนที่จะปิดสถานะ วินาทีหรือดังนั้น ควรทำ6 . ภายในข้ออื่นสุดท้าย ภายใต้ processaudio ( currentsound ) เพิ่มต่อไปนี้ :7 . บันทึกสคริปต์8 . เล่นคลิกและทดสอบโดยคลิกที่ดอกไม้หลายๆครั้งดูรายงานคอนโซลเมื่อเคอร์เซอร์เปลี่ยนสีอีกครั้ง คุณจะรู้ว่า การเลือกของคุณจะผ่าน ดอกไม้ที่ไม่ได้เคลื่อนไหวอีกครั้ง เพราะมันถูกกำหนดให้รัฐ 2 , unpickable แต่เลือกจะถูกประมวลผลเพื่อทราบถ้าคุณทดสอบหิน แล้ว keyatrock , คุณจะพบว่าคุณสามารถเลือก keyatrock ทันที เหตุผลที่เลือกใช้คือ ธงการประมวลผลไม่ใช่ระดับโลก แต่ละอินสแตนซ์ของมัน เป็นของวัตถุสคริปต์ของมันบน นี้ช่วยให้คุณบล็อกจะเลือกวัตถุเดียวกัน แต่ไม่เลือกวัตถุอื่น ๆ ขณะนี้อาจที่แรกเสียงไม่พึงประสงค์ที่ป้องกันผู้เล่นจากการเลือกวัตถุที่พบใหม่ทันที พิสูจน์ได้ว่าหงุดหงิดนอกจากนี้คุณยังอาจสังเกตเห็นปัญหาที่เกิดขึ้นจริงกับหิน ข้อเสียเปรียบของร้านในราก ( ใหม่ ) ประเภทนำเข้าภาพเคลื่อนไหวเป็นคลิปใหม่ที่เริ่มจากภาพเคลื่อนไหวองค์ประกอบเดียวกันขณะนี้เล่นที่หยุดการเคลื่อนไหวที่จะเกิดขึ้นในช่วงเวลา จนกระทั่งมรดกภาพเคลื่อนไหวครบวงจรใน mecanim , การแก้ปัญหาที่ง่ายที่สุดคือการทำซ้ำ animationobjects กลุ่ม , ยกเลิกการใช้งานหรือลบหินจากกลุ่มแรก และส่วนที่เหลือของวัตถุจากสอง
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2025 I Love Translation. All reserved.

E-mail: