Tip:
Highlight text to annotate it
X
>> DAVID Malan: Hãy viết một chương trình liên quan đến một cửa sổ và một vòng tròn với
vòng tròn nảy lại ra khỏi trái và bên phải
cạnh của cửa sổ đó.
Để làm như vậy, chúng ta hãy sử dụng Stanford Thư viện di động, và chúng ta hãy đầu tiên
bao gồm gevents.h để chúng tôi có thể nghe cho di chuyển chuột.
Để sau đó bao gồm gobjects.h để chúng ta có thể khai báo những thứ như hình bầu dục hoặc
vòng tròn, thực sự.
Và sau đó chúng ta hãy bao gồm gwindow.h để chúng tôi có một cửa sổ đồ họa cho
tất cả mọi thứ.
>> Hãy khai báo chính theo cách thông thường.
Và bây giờ chúng ta khai báo và khởi tạo hoặc tạo ra các cửa sổ đó, GWindow -
và chúng tôi sẽ gọi cửa sổ biến -
được newGWindow.
Và chúng tôi sẽ tự ý làm cho nó 320 điểm ảnh của 240 pixel.
>> Chúng ta hãy tiếp theo tạo một vòng tròn.
Nhưng để khởi tạo vòng tròn này, chúng ta cần phải làm việc nhiều hơn một chút.
Đặc biệt, chúng ta hãy điền vào vòng tròn này để toàn bộ điều
màu đen và không chỉ là phác thảo đó.
GOval -
chúng tôi sẽ gọi nó là vòng tròn -
được newGOval.
Chúng tôi sẽ đưa hình bầu dục này tại 0, 110, và chúng tôi sẽ làm cho bầu dục 20 pixels, rộng
20 điểm ảnh cao - nói cách khác, một đường kính 20 hoặc bán kính 10.
>> Bây giờ hãy thiết lập màu sắc của vòng tròn đó được trích dẫn, unquote, "đen". Hãy
bây giờ đặt nó được lấp đầy bằng cách xác định sự thật.
Và bây giờ cuối cùng, chúng ta hãy thêm các vòng tròn để cửa sổ như sau, theo đó
sau được thêm vào trước đây.
>> Bây giờ chúng ta khai báo một đôi.
Chúng tôi sẽ gọi nó là tốc độ.
Và có phần tùy tiện, chúng ta hãy nói vận tốc của vòng tròn này sẽ được
2.0, nói cách khác, 2 điểm ảnh cho mỗi đơn vị thời gian.
Và bây giờ chúng ta hãy cố tình tạo ra một vòng lặp vô hạn.
>> Vậy làm thế nào để làm cho vòng tròn này bị trả lại?
Vâng chúng ta hãy giả định trong vòng lặp này cho mỗi đơn vị thời gian, chúng tôi
sẽ di chuyển vòng tròn chỉ là một chút bit dựa trên vận tốc của nó là 2 pixels
mỗi đơn vị thời gian.
Nhưng liên tục, chúng ta sẽ phải kiểm tra xem vòng tròn được chạm vào
cạnh phải của màn hình hoặc bên trái cạnh của màn hình, vì nếu như vậy, chúng tôi
cần nó để trả lại, vậy để nói chuyện.
>> Làm thế nào để thực hiện khái niệm nảy?
Vâng, nếu chúng ta sẽ ở 2 điểm ảnh để các ngay trên một đơn vị thời gian, để chống lại
cạnh phải, chúng tôi chỉ đơn giản là có thể đảo ngược đó là âm 2 điểm ảnh trên một đơn vị
thời gian, do đó phủ nhận vận tốc.
Vì vậy, trong thực tế, phản xạ tương đối đơn giản.
>> Hãy đầu tiên di chuyển vòng tròn bằng cách này nhiều pixel dọc theo trục x, của thành viên này
nhiều điểm ảnh dọc theo trục y.
Nói cách khác, chúng tôi không muốn nó di chuyển dọc theo trục y ở tất cả.
Chúng tôi chỉ muốn nó phục hồi trở lại và ra trái và phải.
>> Và bây giờ chúng ta kiểm tra trong vòng lặp này nếu x phối hợp của vòng tròn cộng
chiều rộng của vòng tròn lớn hơn hoặc bằng
chiều rộng của cửa sổ -
nói cách khác, nếu vị trí của vòng tròn cộng với chiều rộng của vòng tròn
bây giờ chính nó là quá khứ cạnh của cửa sổ, chúng tôi muốn
tốt hơn đảo ngược vận tốc của chúng tôi -
vận tốc được tốc độ tiêu cực, do đó lật một tích cực cho một
tiêu cực hoặc tiêu cực đến một tích cực.
Nhưng nếu vòng tròn được di chuyển từ phải sang trái và do đó nó cập
cạnh trái?
Nói cách khác, nếu x-phối hợp của vòng tròn tại là nhỏ hơn hoặc bằng
0, chúng ta hãy đi trước và một lần nữa đảo ngược vận tốc của chúng tôi.
>> Vì vậy, tại sao tôi không được thêm vào trong chiều rộng của vòng tròn này
thời gian, như tôi đã làm trước đây?
Vâng, hãy nhớ rằng các tọa độ của một đối tượng được xác định
bởi góc trên bên trái của nó, không vào giữa của nó.
Và do đó, khi vòng tròn được di chuyển từ trái sang phải, chúng ta cần phải kiểm tra
xem cạnh phải của vòng tròn đã thông qua các
cạnh phải của cửa sổ.
Vì vậy, để tìm ra đó là những gì, chúng tôi có để có được x-phối hợp của vòng tròn
cộng với chiều rộng của vòng tròn để di chuyển mình từ trên bên trái
góc, có hiệu quả, để các góc trên bên phải.
Khi vòng tròn được di chuyển từ phải sang trái, trong khi đó, chúng tôi không cần phải
bận tâm với các phụ gia đó, bởi vì góc trên bên trái của vòng tròn là
đã giá trị chúng ta sẽ nhận được từ get x.
>> Bây giờ hãy di chuyển bóng.
Bây giờ chúng ta tiết kiệm, biên dịch và chạy chương trình, thực hiện trả lại,. / thư bị trả lại.
Và chúng tôi đã có một chương trình.
>> Nhưng các vòng tròn chuyển động như vậy darn nhanh, nó hầu như không thể nhìn thấy những gì
thực sự xảy ra.
Vì vậy, chúng ta hãy hoàn toàn chương trình buộc bởi nhấn vào dấu X ở bên phải trên cùng
góc ở đây.
Bây giờ chúng ta hãy quay trở lại mã nguồn và những thứ chậm lại một chút.
>> Nói cách khác, trong vô hạn vòng lặp, thay vì chỉ và di chuyển và
di chuyển và một lần nữa, quảng cáo nauseum, hãy nán lại cho chỉ một vài phần nghìn giây
trước khi tiến hành di chuyển một lần nữa.
Đặc biệt, chúng ta hãy đi đến phía dưới của vòng lặp vô hạn ở đây và chỉ đơn giản là
tạm dừng, nói rằng, 10 phần nghìn giây trên mỗi lần lặp.
Bây giờ hãy biên dịch lại và chạy lại thư bị trả lại.
Và bây giờ chúng ta thấy một hợp lý hơn thực hiện, chúng ta có thể thấy
vòng tròn thực sự nảy trên trái và cạnh phải.