تابع delay، برای ایجاد وقفه یا تاخیر در اجرای متد draw به کار برده میشود! یعنی هرجایی از متد draw که این تابع صدا زده شود، با دریافت یک زمان معینی، آن میزان وقفه ایجاد خواهد کرد و ادامهی خطوط بعد از گذشت آن زمان تعیین شده اجرا میشوند. در واقع این تابع، همان کار متد Thread.Sleep موجود در جاوا را انجام میدهد.
توجه داشته باشید که صفحهی نمایش زمانی آپدیت میشود که تابع draw() به انتهای خود برسد؛ و سپس مجددا این تابع از ابتدا و در فریم بعدی اجرا خواهد شد. پس به کمک delay میتوانیم در هرجایی از بدنهی تابع draw، وقفهای ایجاد کنیم. و تا زمانی که draw به انتهای خود نرسد، هرچیز ترسیم شدهای نمایش داده نخواهد شد.
راهنما
سینتکس و ساختار حالتهای مختلف تابع:
1 |
delay(napTime) |
ورودیها:
- napTime (از نوع int): میزان زمان تاخیر یا وقفه برحسب میلی ثانیه (هر هزار میلی ثانیه برابر است با یک ثانیه)
خروجی: void (ندارد)
مثالها
مثال اول: در اینجا، با ایجاد یک توقف یک ثانیهای، کاری میکنیم تا یک ثانیه شمار به وجود آید:
(البته این مثال با delay منطقی نیست به دلیلی که در بالا گفته شده؛ چون آپدیت صفحه را متوقف خواهد کرد و بهتر است از Threadهای جدا برای چنین کاری استفاده کرد)
1 2 3 4 5 6 |
int second = 0; void draw() { delay(1000); println(second++); } |
مثال دوم: یک تاخیر به وجود آوردهایم تا پورت سریال خوانده شود:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import processing.serial.*; Serial myPort; void setup() { printArray(Serial.list()); myPort = new Serial(this, Serial.list()[0], 9600); } void draw() { while (myPort.available() > 0) { int inByte = myPort.read(); println(inByte); } delay(100); } |
مرتبط
- متغیر frameRate
- تابع draw
- …
نظرات ثبت شده بدون دیدگاه