Tóm tắt lý thuyết và bài tập thực hành 50 https://vietstem.com/
IICHƢƠNG Trong chƣơng này, các bạn sẽ đƣợc hƣớng dẫn tạo ra một tấm thiệp sinh nhật đầy màu sắc và thật sinh động. Chúng ta sẽ tìm hiểu cách để thiết kế nhân vật, di chuyển nhân vật, thay đổi màu sắc, thêm âm thanh cho sinh động,… qua đó bƣớc đầu hiểu đƣợc một số kiến thức lập trình cơ bản nhƣ thực hiện khối lệnh tuần tự, thông báo, sự kiện, cấu trúc vòng lặp,… Sau khi kết thúc chƣơng, các bạn sẽ có thể tự tạo cho mình một tấm thiệp sinh nhật với các nhân vật, hiệu ứng, âm thanh tuỳ ý. Tổng quan chƣơng trình Mọi chƣơng trình đều đƣợc tạo nên bởi các nhân vật (hay còn gọi là đối tƣợng). Lập trình viên sẽ lập trình điều kiển các nhân vật đó thông qua các khối lệnh. Ví dụ làm quả bóng bay, chú chuột di chuyển, dòng chữ đổi màu, chiếc loa phát nhạc,... 51 https://vietstem.com/
Chƣơng trình đầu tiên của chúng ta là tấm thiệp sinh nhật, trong đó có các đối tƣợng: 1. Chong chóng Chong chóng đƣợc lập trình quay liên tục cho tới khi dừng chƣơng trình. 2. Que Que có vị trí cố định, là đối tƣợng gắn với chong chóng, quy định vị trí của chong chóng. 3. Bóng bay Khi chạy chƣơng trình, Bóng bay xuất hiện tại vị trí ngẫu nhiên và bay từ dƣới lên trên. 4. Chữ Happy Chữ Happy có vị trí cố định trên sân khấu. 5. Chữ Birthday Chữ Birthday xuất hiện dƣới chữ Happy và liên tục thay đổi màu. 6. Nến Nến đƣợc lập trình cháy liên tục cho đến khi dừng chƣơng trình. 7. Mũ Mũ sẽ di chuyển lên và xuống nhịp nhàng bên trên chữ P thứ 2 của chữ Happy. 8. Pháo Pháo cũng di chuyển lên và xuống giống Mũ nhƣng ngƣợc với Mũ, khi Mũ di chuyển lên thì Pháo di chuyển xuống và ngƣợc lại. 9. Ngôi sao Ngôi sao sẽ tạo bản sao xung quanh phần trên của thiệp. Tất cả các bản sao này đều có hiệu ứng đổi màu và nhấp nháy. 52 https://vietstem.com/
Mở phần mềm Scratch 3.0, tạo và lƣu ứng dụng có tên “Thiệp”. Trong ứng dụng, trƣớc tiên ta thiết kế hình nền cho thiệp. 1.1. Hình nền Hình 2.1.1. Hình nền của thiệp Khi bắt đầu vẽ, ta vào khu thiết kế phông nền bằng cách nháy chuột vào phông nền sân khấu. Hình 2.1.2a. Nháy chuột vào phông nền sân khấu Sau đó nháy chuột vào trang Phông nền. 53 https://vietstem.com/
Hình 2.1.2b. Khu thiết kế phông nền Chúng ta vẽ ba hình chữ nhật ở phía bên dƣới bằng công cụ Vẽ hình chữ nhật và chọn màu nền , màu viền . Ta kéo thả chuột trên khu thiết kế để tạo hình chữ nhật. Hình 2.1.3. Vẽ hình chữ nhật Với hai hình chữ nhật còn lại, ta thực hiện các bƣớc tƣơng tự. Ở chế độ Vector, ta có thể chỉnh sửa lại kích thƣớc, vị trí và màu sắc cho các hình chữ nhật sau khi vẽ xong, còn với chế độ Bitmap thì chỉ có thể thay đổi đƣợc màu sắc. 54 https://vietstem.com/
Hình 2.1.4. Chỉnh sửa kích thước hình chữ nhật sau khi vẽ 1.2. Chong chóng Trƣớc khi tạo các đối tƣợng cho chƣơng trình, ta xoá đối tƣợng Chú mèo có sẵn bằng cách nháy chuột trái vào biểu tƣợng góc trên bên phải hình ảnh chú mèo thu nhỏ. Hình 2.1.5. Xoá đối tượng Ở biểu tƣợng thêm nhân vật mới , ta nháy chuột vào nút Vẽ . Khi khu ngoại hình xuất hiện, ta bắt đầu vẽ cánh Chong chóng đầu tiên bằng cách vẽ hình chữ nhật sau đó chọn công cụ Chỉnh hình rồi kéo một góc của hình chữ nhật vào. Hình 2.1.6. Vẽ cánh Chong chóng 55 https://vietstem.com/
Để vẽ cánh tiếp theo, ta nháy chuột vào cánh Chong chóng, sau đó nháy chuột vào công cụ Copy rồi nháy tiếp vào công cụ Paste . Hình 2.1.7. Tạo bản sao cho cánh Chong chóng Tiếp theo xoay cánh thứ hai vuông góc với cánh thứ nhất và kéo vào vị trí thích hợp. Hình 2.1.8. Vẽ cánh thứ hai Làm tƣơng tự với hai cánh Chong chóng còn lại. Sau khi vẽ xong, ta đổ màu tuỳ ý cho Chong chóng bằng công cụ Đổ màu . Hình 2.1.9. Đổ màu các cánh Chong chóng Cuối cùng, chúng ta gộp các cánh lại thành một hình hoàn chỉnh bằng công cụ Gộp nhóm 56 https://vietstem.com/
Hình 2.1.10. Chong chóng hoàn chỉnh Tóm tắt lý thuyết và bài tập thực hành 57 https://vietstem.com/
Sau khi đã tạo đƣợc Chong chóng, ta chuyển sang trang Scripts để lập trình cho chong chóng quay. 2.1. Khối lệnh lặp và xoay Để lập trình cho Chong chóng quay, ta sử dụng khối lệnh xoay sang phải 15 độ hoặc xoay sang trái 15 độ . Hai khối lệnh này sẽ giúp đối tƣợng xoay theo chiều sang trái và phải tƣơng ứng với độ lớn góc xoay có thể đƣợc thay đổi tuỳ ý. Hình 2.2.1. Khối lệnh xoay Ta kéo khối lệnh sang khu lập trình và nháy chuột lên khối lệnh, khối lệnh sẽ đƣợc chạy. Tuy nhiên, Chong chóng chỉ xoay mỗi lần chúng ta chạy khối lệnh. Nếu muốn Chong chóng xoay liên tục, ta sử dụng khối lệnh lặp để khối lệnh xoay đƣợc lặp đi lặp lại. Trong trƣờng hợp này chúng ta sử dụng khối lệnh Liên tục trong nhóm Điều khiển. Ta kéo khối lệnh Liên tục ra sao cho khối lệnh này bao quanh khối lệnh xoay. Hình 2.2.2. Khối lệnh xoay và khối lệnh lặp Trong lập trình gọi đây là một vòng lặp, những khối lệnh ở bên trong vòng lặp (đƣợc bao quanh bởi khối lệnh lặp) sẽ đƣợc thực hiện lặp đi lặp lại nhiều lần. Ở đây chúng ta sử dụng khối lệnh Liên tục nên khối lệnh xoay ở bên trong sẽ đƣợc thực hiện lặp đi 58 https://vietstem.com/
lặp lại mãi mãi cho đến khi nút Dừng lại đƣợc chọn, và kết quả là Chong chóng sẽ quay liên tục không ngừng. Hình 2.2.3. Hoạt động của vòng lặp 2.2. Điều chỉnh tâm của nhân vật Khi khối lệnh đƣợc chạy, Chong chóng đã quay đƣợc nhƣng lại quay quanh một điểm không phải điểm chính giữa của Chong chóng. Khi quay, đối tƣợng thƣờng quay quanh tâm của nó, vậy nên để Chong chóng quay quanh điểm chính giữa của nó, cần đặt lại tâm của Chong chóng vào điểm chính giữa. Ta chuyển sang khu thiết kế, gộp nhóm các cánh của Chong chóng và di chuyển Chong chóng đến vị trí chính giữa. Các bạn có thể phóng to trang thiết kế bằng biểu tƣợng để dễ dàng xác định tâm. Hình 2.2.4. Đặt lại tâm cho Chong chóng Cuối cùng, để khối lệnh chạy khi nháy chuột vào lá cờ xanh, ta sử dụng khối lệnh Khi nhấn vào lá cờ xanh và ghép lên trên khối lệnh. https://vietstem.com/ 59
Hình 2.2.5. Đoạn khối lệnh hoàn chỉnh 2.3. Đối tƣợng que Trong chƣơng trình, Chong chóng đƣợc gắn vào một chiếc Que. Nếu vẽ Que trực tiếp lên hình nền thì sẽ không thể di chuyển Que trong trƣờng hợp muốn Chong chóng và Que thay đổi vị trí, còn nếu vẽ Que trực tiếp vào hình ảnh nhân vật của Chong chóng thì khi Chong chóng quay chiếc Que sẽ quay theo. Chính vì vậy, Que là một đối tƣợng tách riêng ra khỏi Chong chóng. Ta tạo nhân vật mới bằng cách dùng công cụ Vẽ , sau đó vẽ Que bằng hình chữ nhật. Hình 2.2.6. Vẽ đối tượng Que Sau khi chỉnh tâm cho Que, các bạn kéo Que đến vị trí chong chóng sẽ thấy Que đang nằm phía trƣớc và che khuất Chong chóng. 60 https://vietstem.com/
Hình 2.2.7. Vị trí của Que đứng trước Chong chóng trên sân khấu Các nhân vật trên sân khấu đứng trƣớc hay đứng sau là do đƣợc sắp xếp theo các lớp từ trƣớc đến sau và mỗi nhân vật ở một lớp khác nhau. Để đặt Que ra phía sau Chong chóng, ta sử dụng khối lệnh Đi lùi 1 lớp . Hình 2.2.8. Đặt vị trí của Que ra sau Chong chóng 61 https://vietstem.com/
Tóm tắt lý thuyết và bài tập thực hành 62 https://vietstem.com/
Ở bài học này, các bạn sẽ đƣợc học cách thêm chữ Birthday và lập trình thay đổi hiệu ứng cho chữ ở trên thiệp. 3.1. Thêm và chỉnh sửa chữ Chữ Birthday cũng là một đối tƣợng. Ta nháy vào nút Vẽ trong biểu tƣợng thêm nhân vật để thêm một nhân vật mới, trong khu thiết kế cho nhân vật mới, chúng ta sẽ thiết kế chữ Birthday. Để thêm dòng chữ trong khu thiết kế, ta nháy vào nút Thêm đoạn văn bản rồi nháy chuột vào vị trí bất kì trên khu thiết kế và gõ chữ “Birthday”. Hình 2.3.1. Thêm chữ cho thiệp Thay đổi kích thƣớc chữ bằng cách nháy vào Nút chọn , sau đó nháy vào chữ Birthday để chọn. Sau khi chọn, khung viền bao quanh chữ sẽ xuất hiện, nháy vào góc của khung viền và kéo khung viền to ra hoặc thu nhỏ lại. https://vietstem.com/ 63
Hình 2.3.2: Thay đổi kích thước chữ Để đổi màu cho chữ, các bạn chọn màu ở bảng màu rồi sử dụng công cụ Đổ màu , hoặc chỉ cần nháy nút Chọn , sau đó chọn chữ và chọn màu ở bảng màu là màu chữ sẽ tự động thay đổi theo. Hình 2.3.3: Thay đổi màu Để thay đổi nội dung hoặc phông chữ, ta nháy vào nút , sau đó nháy vào chữ muốn chỉnh sửa. Lúc này, ta có thể thay đổi nội dung của chữ hoặc thay đổi phông chữ bằng cách chọn phông chữ mình muốn trong danh sách phông chữ. Hình 2.3.4. Thay đổi phông chữ 3.2. Hiệuứng Việc thay đổi hiệu ứng của chữ đƣợc điều khiển bằng khối lệnh Thay đổi hiệu ứng ở nhóm Ngoại hình. Khối lệnh gồm loại hiệu ứng và lƣợng thay đổi hiệu ứng dƣới dạng số. Trong khối lệnh hỗ trợ thay đổi nhiều hiệu ứng khác nhau. 64 https://vietstem.com/
Hình 2.3.5: Khối lệnh thay đổi hiệu ứng Trong tấm thiệp, chữ sẽ luôn đổi màu, vì thế các bạn cần chọn hiệu ứng Màu trong khối lệnh. Màu chữ thay đổi phụ thuộc vào lƣợng giá trị trong khối lệnh. Lƣợng giá trị thay đổi là số dƣơng (tăng) thì màu sẽ thay đổi theo chiều dƣơng của kim đồng hồ, còn nếu lƣợng giá trị thay đổi là số âm (giảm) thì màu sẽ thay đổi theo chiều ngƣợc lại,nhƣ đƣợc mô tả nhƣ trong hình 2.3.6. Hình 2.3.6. Màu thay đổi dựa trên lượng giá trị thay đổi Lƣợng giá trị thay đổi của hiệu ứng màu có chu kì 200, tức là khi lƣợng giá trị thay đổi đạt đến một lƣợng bằng 200 thì hiệu ứng màu sẽ quay trở lại là màu gốc ban đầu. Với màu gốc là màu thì sự thay đổi hiệu ứng màu với giá trị dƣơng từ 0 đến 200 đƣợc minh hoạ nhƣ trong hình 2.3.7. Hình 2.3.7. Hiệu ứng màu thay đổi theo chu kì giá trị hiệu ứng là 200 https://vietstem.com/ 65
Để chữ có thể đổi màu liên tục, khối lệnh Thay đổi hiệu ứng màu một lƣợng đƣợc thực hiện lặp đi lặp lại nhiều lần, khối lệnh Liên tục đƣợc sử dụng để chữ đổi màu cho đến khi dừng chƣơng trình. Lúc này chữ đã đổi màu đƣợc liên tục nhƣng rất nhanh. Ghép khối lệnh đợi vào trong vòng lặp để sau mỗi lần đổi màu, chữ sẽ đợi thêm 1 giây rồi mới đổi màu tiếp. Và cuối cùng là khối lệnh Kích hoạt để khi bắt đầu chƣơng trình (khi nháy vào nút lệnh ) thì chữ sẽ bắt đầu đổi màu. Hình 2.3.8. Đoạn khối lệnh hoàn chỉnh Tóm tắt lý thuyết và bài tập thực hành 66 https://vietstem.com/
Trong bài học này, chúng ta sẽ thêm đối tƣợng Bóng bay và lập trình để quả bóng có thể bay. 4.1. Thêm nhân vật Bóng bay Để thêm quả bóng bay vào chƣơng trình, ta chỉ cần nháy nút ở khung nhân vật để có thể chọn quả bóng bay từ thƣ viện có sẵn. Sau khi chọn nháy nút để hoàn tất. Hình 2.4.1. Thêm bóng bay từ thư viện Tên ngầm định của nhân vật khá khó đọc, ta nên thay đổi lại tên để dễ dàng tìm kiếm và không bị nhầm lẫn. Ở danh sách các đối tƣợng, ta nháy vào biểu tƣợng ở góc trên bên trái của nhân vật trong khung nhân vật để chỉnh sửa lại tên. Hình 2.4.2. Đổi tên cho nhân vật 67 https://vietstem.com/
Nhân vật Bóng bay có sẵn ba hình dạng với màu sắc khác nhau, ta thay đổi hình ảnh của nhân vật tuỳ theo sở thích. Hình 2.4.3. Đổi hình dạng Bóng bay 4.2. Lập trình để quả bóng bay Nhân vật Bóng bay trong tấm thiệp cần đƣợc lập trình để có thể bay từ dƣới lên trên. Trƣớc tiên, chúng ta sẽ đi tìm hiểu về sự di chuyển của nhân vật trên sân khấu bằng cách thay đổi toạ độ x (hoành độ) và y (tung độ). Ở thẻ Code, các bạn chạy lần lƣợt các khối lệnh và với hai giá trị là 10 và –10, sau đó theo dõi kết quả. Hình 2.4.4. Vị trí bắt đầu của quả bóng 68 https://vietstem.com/
Khi chạy khối lệnh , quả bóng di chuyển sang phải 10 bƣớc (10 pixel), còn chạy khối lệnh sẽ khiến quả bóng di chuyển sang trái 10 bƣớc. Nhƣ vậy, việc thay đổi hoành độ của nhân vật sẽ khiến nhân vật di chuyển theo phƣơng ngang, tức là phƣơng theo trục x. Hình 2.4.5. Thay đổi hoành độ một lượng nhất định Khi chạy khối lệnh , quả bóng sẽ di chuyển lên trên 10 bƣớc, còn nếu lƣợng thay đổi là –10 nhƣ trong khối lệnh thì quả bóng sẽ di chuyển xuống dƣới 10 bƣớc. Vậy việc thay đổi tung độ của nhân vật sẽ khiến nhân vật di chuyển theo phƣơng thẳng đứng, tức là theo phƣơng của trục y. 69 https://vietstem.com/
Hình 2.4.6. Thay đổi tung độ một lượng nhất định Quả bóng cần phải di chuyển theo phƣơng thẳng đứng với chiều hƣớng từ dƣới lên trên, vì vậy các bạn sử dụng khối lệnh . Ở Chƣơng I, chúng ta đã đƣợc biết sân khấu có chiều dọc là 360 bƣớc, vậy nên để di chuyển hết chiều này thì bóng bay cũng phải di chuyển hết 360 bƣớc. Trong trƣờng hợp này, chúng ta sẽ điều khiển quả bóng di chuyển 36 lần, mỗi lần 10 bƣớc bằng cách thực hiện khối lệnh lặp đi lặp lại 36 lần. Hình 2.4.7. Đoạn khối lệnh di chuyển của Bóng bay 70 https://vietstem.com/
Ta có thể điều chỉnh số lần lặp để thay đổi độ dài quãng đƣờng di chuyển cũng nhƣ điều chỉnh lƣợng giá trị y để thay đổi tốc độ di chuyển của quả bóng nhanh hay chậm tuỳ ý. Cuối cùng, để đoạn khối lệnh chạy khi nháy vào nút lệnh , ta sử dụng khối lệnh Khi nhấn vào lá cờ xanh và ghép lên trên khối lệnh. Hình 2.4.8. Đoạn khối lệnh hoàn chỉnh Tóm tắt lý thuyết và bài tập thực hành 71 https://vietstem.com/
Trong rất nhiều trƣờng hợp, chúng ta muốn khi bắt đầu chƣơng trình (nháy vào nút lệnh ) thì đối tƣợng sẽ tự động nhảy đến một vị trí cố định trên sân khấu. Bài học này hƣớng dẫn các bạn lập trình để thực hiện điều đó. 5.1. Nhảy tới vị trí cụ thể Để lập trình cho nhân vật nhảy tới một vị trí cụ thể trên sân khấu, ta sử dụng khối lệnh Đi tới điểm x, y trong nhóm Chuyển động. Khối lệnh này sẽ điều khiển nhân vật chuyển tới vị trí có toạ độ x, y trong khối lệnh ngay lập tức. Toạ độ của nhân vật chính là vị trí toạ độ của tâm nhân vật. 72 https://vietstem.com/
Hình 2.5.1. Khối lệnh Đi tới điểm Khi nhân vật đƣợc kéo đến một vị trí bất kì trên sân khấu, giá trị toạ độ x, y trong khối lệnh Đi tới điểm trong Bảng danh mục các khối lệnh sẽ tự động thay đổi tƣơng ứng theo vị trí đƣợc kéo đến. 73 https://vietstem.com/
Hình 2.5.2: Khối lệnh Đi tới điểm tự động thay đổi giá trị x, y Nhƣ vậy, khi ta kéo nhân vật đến vị trí mong muốn thì khối lệnh sẽ thay đổi giá trị x, y thành toạ độ của vị trí mong muốn đó. Kéo khối lệnh sang khu lập trình, thêm khối lệnh lên bên trên khối lệnh để khi bắt đầu chƣơng trình (nháy vào nút lệnh ) nhân vật sẽ nhảy đến vị trí mong muốn ngay lập tức Hình 2.5.3. Đoạn khối lệnh hoàn chỉnh Tóm tắt lý thuyết và bài tập thực hành 74 https://vietstem.com/
Sau khi học Bài 4, các bạn đã biết cách lập trình để quả bóng có thể bay lên, tuy nhiên sau khi bay lên quả bóng sẽ đứng yên ở đó. Bài học này sẽ hƣớng dẫn các bạn lập trình để điều khiển quả bóng lặp đi lặp lại việc bay lên và mỗi lần bay lên quả bóng lại xuất phát từ một vị trí khác. 6.1. Vòng lặp lồng nhau Đoạn khối lệnh điều khiển quả bóng bay lên gồm hai thành phần: khối lệnh đi tới điểm điều khiển vị trí quả bóng và vòng lặp thay đổi tung độ điều khiển quả bóng bay lên. Hình 2.6.1. Điều khiển quả bóng bay lên Chúng ta sử dụng khối lệnh Liên tục để lập trình việc nhảy tới vị trí mới và điều khiển quả bóng bay lên lặp đi lặp lại. Hình 2.6.2. Đoạn khối lệnh lặp lồng nhau Việc nhảy đến vị trí và bay lên đƣợc lặp đi lặp lại mãi mãi cho đến khi ta nháy vào nút lệnh Dừng . 6.2. Lấy giá trị ngẫu nhiên Khi vị trí x thay đổi, vị trí theo phƣơng ngang của nhân vật sẽ bị thay đổi. 75 https://vietstem.com/
Hình 2.6.3. Thay đổi vị trí x Chính vì vậy, để thay đổi vị trí bay lên của quả bóng, các bạn cần thay đổi hoành độ (vị trí x) sau mỗi lần lặp (mỗi lần bay lên). Chúng ta thay đổi hoành độ một cách ngẫu nhiên bằng khối lệnh Lấy ngẫu nhiên . Khối lệnh này sẽ chứa một giá trị đƣợc lấy ngẫu nhiên trong khoảng từ số thứ nhất đến số thứ hai. Vị trí theo chiều ngang (trục x) của đối tƣợng Bóng bay bị giới hạn trong khu vực sân khấu với x có giá trị từ –240 đến 240. Chúng ta ghép khối lệnh đã đƣợc chỉnh sửa giá trị vào giá trị x của khối lệnh . Vậy là sau mỗi lần lặp, khối lệnh đi tới sẽ không còn khiến nhân vật nhảy đến một vị trí cố định nữa mà sẽ có vị trí theo chiều ngang khác nhau. Hình 2.6.4. Đoạn khối lệnh hoàn chỉnh 76 https://vietstem.com/
Tóm tắt lý thuyết và bài tập thực hành 77 https://vietstem.com/
Trong bài học này, các bạn sẽ đƣợc hƣớng dẫn cách thêm nhân vật chữ Happy và nhân vật Nến từ thƣ mục trên máy tính, đồng thời lập trình nến có thể cháy. 7.1. Thêm nhân vật từ thƣ mục Đầu tiên, ta truy cập website https://vietstem.com/ để tải tài liệu về máy tính. Ở phần danh sách nhân vật, ta nháy vào nút , cửa sổ mới sẽ hiện lên để chọn tập tin. Ta tìm đến thƣ mục tài liệu vừa tải về, chọn tập tin rồi nháy Open. Hình 2.7.1. Thêm đối tượng chữ Happy từ thư mục Tiếp theo là thêm ngọn nến. Nến có hai trang phục, vậy nên sau khi thêm nhân vật nến thì ta cần thêm một trang phục nữa cho Nến. Ở khu thiết kế của đối tƣợng Nến ta nháy vào nút và chọn trang phục thứ hai của Nến. 78 https://vietstem.com/
Hình 2.7.2. Thêm trang phục cho nến 7.2. Lập trình cho đối tƣợng Nến Ngọn nến đƣợc lập trình chuyển đổi giữa hai trang phục liên tục, khi đó trên sân khấu ngọn nến sẽ nhƣ đang bập bùng cháy. Để thay đổi trang phục, chúng ta sử dụng khối lệnh Trang phục kế tiếp trong nhóm Hiển thị. Khi nháy chạy khối lệnh, nhân vật Nến sẽ thay đổi hình ảnh của mình. Khi khối lệnh chạy liên tục ta sẽ thấy ngọn nến nhƣ đang cháy. Hình 2.7.3. Hai trang phục của đối tượng Nến Chúng ta sử dụng khối lệnh Liên tục để ngọn nến luôn cháy, tuy nhiên khi chạy thử thì ngọn nến thay đổi trang phục rất nhanh và không đẹp. Các bạn ghép thêm khối lệnh đợi vào trong vòng lặp để ngọn nến cháy chậm và đẹp hơn. Chúng ta có thể chỉnh sửa thời gian đợi thành 0.5 giây hay 0.2 giây để thay đổi tốc độ cháy nhƣ https://vietstem.com/ 79
trong đoạn khối lệnh . Thêm khối lệnh Kích hoạt để khi bắt đầu chƣơng trình ngọn nến sẽ nhảy đến và Đi tới điểm vị trí mong muốn. Hình 2.7.4. Đoạn khối lệnh hoàn chỉnh Tóm tắt lý thuyết và bài tập thực hành 80 https://vietstem.com/
Bài học này sẽ hƣớng dẫn các bạn lập trình hai đối tƣợng Mũ và Pháo. Hai nhân vật này đều có chuyển động lên và xuống lặp đi lặp lại khá giống nhau. 8.1. Thêm nhân vật từ thƣ mục Cách thêm nhân vật Mũ và Pháo giống với nhân vật Nến. Hình 2.8.1. Thêm nhân vật Mũ và nhân vật Pháo 8.2. Lập trình cho Mũ Chiếc mũ sẽ chuyển động lên và xuống đều đặn. Qua bài 4, chúng ta đã biết muốn điều khiển đối tƣợng di chuyển theo phƣơng thẳng đứng sẽ phải thay đổi tung độ (vị trí y) của nhân vật, vậy ta cần sử dụng hai khối lệnh thay đổi tung độ . Trong hai khối lệnh này, một khối lệnh sẽ làm tăng giá trị tung độ (lƣợng giá trị tung độ thay đổi là số dƣơng) để nhân vật chuyển động theo hƣớng từ dƣới lên trên và khối lệnh còn lại sẽ giảm giá trị tung độ (lƣợng giá trị tung độ thay đổi là số âm) để nhân vật chuyển động theo hƣớng từ trên xuống dƣới. Hình 2.8.2. Đoạn khối lệnh di chuyển của Mũ 81 https://vietstem.com/
Khi chạy đoạn khối lệnh này, ta sẽ thấy nhân vật vẫn đứng im, vì các khối lệnh thực hiện rất nhanh, vừa di chuyển lên với khối lệnh nhân vật đã di chuyển xuống bằng khối lệnh ngay lập tức. Chính vì vậy, chúng ta ghép thêm khối lệnh đợi vào giữa hai khối lệnh trên để chuyển động đƣợc quan sát rõ ràng hơn. Ta có thể tuỳ chỉnh thời gian đợi để thay đổi tốc độ lên và xuống của chiếc mũ. Hình 2.8.3. Thêm khối lệnh đợi giữa hai lần di chuyển Để việc di chuyển lên và xuống này đƣợc thực hiện liên tục, ta ghép thêm vòng lặp bao quanh bên ngoài đoạn khối lệnh. Hoạt động của đoạn khối lệnh có thêm vòng lặp đƣợc mô tả ở hình 2.8.2. Hình 2.8.4. Hoạt động của vòng lặp 82 https://vietstem.com/
Giữa các lần lặp với nhau không có khối lệnh đợi, sau khi khối lệnh đƣợc chạy, ngay lập tức khối lệnh cũng đƣợc thực hiện, chúng ta không kịp nhìn thấy chiếc mũ di chuyển xuống. Vậy nên chúng ta ghép thêm một khối lệnh nữa. Hình 2.8.5. Thêm khối lệnh Đợi Vậy là đoạn khối lệnh cho việc di chuyển đã xong, ta cần thêm khối lệnh Kích hoạt cho đoạn khối lệnh của mình. 8.3. Lập trình cho Pháo Pháo đƣợc lập trình di chuyển lên và xuống liên tục giống chiếc mũ, khi Mũ di chuyển lên thì Pháo di chuyển xuống và ngƣợc lại. Ta sao chép đoạn khối lệnh của Mũ, sau đó kéo sang nhân vật Pháo bằng cách nháy nút phải chuột lên khối lệnh trên cùng , chọn Nhân bản. Khối lệnh mới xuất hiện giống khối lệnh cũ đƣợc gắn vào con trỏ chuột mà không cần phải nhấn giữ chuột. Di chuyển con trỏ chuột và khối lệnh đến ảnh thu nhỏ của nhân vật Pháo và nháy chuột vào đó, khối lệnh sẽ đƣợc xuất hiện bên khu lập trình của nhân vật Pháo. 83 https://vietstem.com/
Hình 2.8.6. Sao chép khối lệnh Hình 2.8.7. Kết quả 84 https://vietstem.com/
Khi chạy chƣơng trình, Mũ và Pháo trên sân khấu có chuyển động giống hệt nhau vì chúng có đoạn khối lệnh điều khiển giống nhau. Để chuyển động của Pháo ngƣợc với Mũ, các bạn đổi chỗ hai giá trị của hai khối lệnh thay đổi tung độ trong đoạn khối lệnh của Pháo. Đối tƣợng Mũ có khối lệnh di chuyển đầu tiên là di chuyển lên, đối tƣợng Pháo có khối lệnh di chuyển đầu tiên là di chuyển xuống. Hình 2.8.8. Đoạn khối lệnh hoàn chỉnh của Mũ và Pháo Tóm tắt lý thuyết và bài tập thực hành https://vietstem.com/ 85
Bài học này sẽ hƣớng dẫn các bạn lập trình để thêm âm thanh cho đối tƣợng và thực hành để thêm nhạc vào thiệp. 9.1. Thêm âm thanh Mỗi nhân vật, đối tƣợng đều có danh sách âm thanh riêng ở Khu âm thanh (trang Sounds). Đây là nơi chứa tất cả âm thanh mà nhân vật có thể chơi. Mỗi nhân vật đƣợc thêm mới (từ thƣ viện, tạo mới, tải từ máy tính hay chụp ảnh) đều đƣợc tạo sẵn âm thanh ngầm định. Hình 2.9.1. Danh sách âm thanh ở Khu âm thanh Âm thanh của nhân vật nào sẽ đƣợc thêm vào danh sách âm thanh của nhân vật đó, còn nhạc nền thì sẽ đƣa vào danh sách âm thanh của sân khấu. Chƣơng trình Thiệp sinh nhật có nhạc nền là bài Happy Birthday là âm thanh đã có sẵn trong thƣ viện âm thanh, chúng ta sẽ thêm âm thanh có sẵn trong thƣ viện bằng cách nháy vào nút . 86 https://vietstem.com/
Hình 2.9.2. Thêm nhạc birthday cho thiệp 9.2. Lập trình Trong Danh mục các nhóm lệnh, nhóm Âm thanh có hai khối lệnh dùng để chơi âm thanh là và . Cả hai khối lệnh đều dùng để chơi âm thanh có trong danh sách âm thanh của đối tƣợng sân khấu. Hình 2.9.3. Hai khối lệnh chơi âm thanh Âm thanh “birthday” chơi liên tục cho đến khi dừng chƣơng trình, vì vậy ta ghép khối lệnh bao bên ngoài khối lệnh chơi âm thanh. Hai khối lệnh chơi âm thanh đƣợc ghép vào trong vòng lặp, khi chạy sẽ có hai kết quả khác nhau. Đoạn khối lệnh sẽ chơi âm thanh Birthday, còn với đoạn khối lệnh chúng ta sẽ chỉ nghe thấy chuỗi âm thanh lặp lại của nốt son. 87 https://vietstem.com/
Khi một âm thanh đang đƣợc chơi, nếu chạy lại khối lệnh bắt đầu âm thanh đó thì âm thanh sẽ đƣợc chơi lại từ đầu. Khối lệnh sẽ chơi âm thanh đƣợc chọn và đợi cho đến khi âm thanh đó đƣợc chơi hết mới thực hiện công việc các khối lệnh tiếp theo (trong trƣờng hợp này là lặp lại việc chơi lại âm thanh birthday). Còn khối lệnh sẽ chơi âm thanh và thực hiện các công việc tiếp theo luôn mà không chờ cho đến khi âm thanh đƣợc chơi hết. Ở trong vòng lặp, khối lệnh này sẽ liên tục đƣợc thực hiện, âm thanh liên tục đƣợc chơi lại từ đầu nên chúng ta sẽ chỉ nghe thấy chuỗi âm thanh lặp lại của nốt son. Sau khi biết đƣợc phải dùng khối lệnh nào cho vòng lặp, các bạn ghép thêm khối lệnh kích hoạt để nhạc sẽ đƣợc phát từ lúc bắt đầu chƣơng trình. Hình 2.9.4. Đoạn khối lệnh hoàn chỉnh Tóm tắt lý thuyết và bài tập thực hành 88 https://vietstem.com/
Đối tƣợng cuối cùng của tấm thiệp là Ngôi sao. Bài học này sẽ hƣớng dẫn các bạn lập trình điều khiển Ngôi sao, tạo bản sao nhấp nháy của Ngôi sao. 10.1. Thêm đối tƣợng Ngôi sao Trong thƣ viện đã có sẵn Ngôi sao, các bạn thêm nhân vật từ thƣ viện, chọn mục Holidays sẽ thấy Ngôi sao cần tìm. Hình 2.10.1. Thêm Ngôi sao từ thư viện Sau khi thêm, các bạn có thể phóng to hoặc thu nhỏ ngôi sao để chỉnh kích thƣớc cho phù hợp. 10.2. Tạo bản sao Để tấm thiệp có nhiều ngôi sao, chúng ta có thể thêm nhiều nhân vật ngôi sao khác cũng giống nhƣ vậy, tuy nhiên việc đó mất rất nhiều công sức và dễ gây nhầm lẫn các nhân vật. Thay vào đó, chúng ta sẽ sử dụng khối lệnh Tạo bản sao để tạo ra nhiều ngôi sao khác giống hệt ngôi sao ban đầu. Ở khu lập trình của Ngôi sao, các bạn chạy thử khối lệnh Tạo bản sao. Ta kéo ngôi sao ra sẽ thấy một ngôi sao khác xuất hiện ngay bên dƣới. https://vietstem.com/ 89
Hình 2.10.2. Bản sao của Ngôi sao xuất hiện bên dưới bản chính Ta có thể chọn nhân vật trong danh sách để tạo bản sao của nhân vật khác. Tất cả các bản sao đều giống hệt bản chính và đƣợc đặt ra sau bản chính một lớp. Hình 2.10.3. Tạo bản sao từ nhân vật khác 10.3. Lập trình thay đổi hiệu ứng cho bản sao Chúng ta sẽ lập trình điều khiển ngôi sao mờ đi, một giây sau sẽ hiện rõ trở lại và một giây sau nữa sẽ đổi màu. Chúng ta sẽ sử dụng khối lệnh Thay đổi hiệu ứng điểu khiển việc thay đổi hiệu ứng màu và hiệu ứng bóng ma. Với hiệu ứng bóng ma, lƣợng giá trị thay đổi là số dƣơng sẽ khiến đối tƣợng trở nên mờ hơn và ngƣợc lại. Ta có thể chọn lƣợng giá trị thay đổi của hiệu ứng tuỳ ý để ngôi sao đẹp hơn. Hình 2.10.4. Các mức độ hiệu ứng mờ ảo 90 https://vietstem.com/
Chúng ta sẽ cho ngôi sao nhấp nháy bằng hai khối lệnh thay đổi hiệu ứng bóng ma và đổi màu bằng một khối lệnh đổi hiệu ứng màu. Ta ghép các khối lệnh và chạy thử. Hình 2.10.5. Thay đổi các hiệu ứng Ghép thêm vòng lặp để việc thay đổi hiệu ứng đƣợc thực hiện liên tục. Hình 2.10.6. Thay đổi các hiệu ứng liên tục Tuy nhiên, đoạn khối lệnh trên chỉ giúp Ngôi sao nhấp nháy mà bản sao của nó thì không. Ghép khối lệnh lên trên để bản sao của Ngôi sao nhấp nháy đƣợc nhƣ vậy. 91 https://vietstem.com/
Hình 2.10.7. Lập trình cho bản sao Lúc này khi các bạn tạo bản sao cho Ngôi sao, kéo Ngôi sao ra sẽ thấy bản sao của Ngôi sao thay đổi hiệu ứng liên tục. Hình 2.10.8. Bản sao thay đổi hiệu ứng 10.4. Sắp xếp các bản sao của Ngôi sao Trong tấm thiệp, các ngôi sao đƣợc sắp xếp thành hai cột và một hàng giống nhƣ ba cạnh của hình chữ nhật. Ta lập trình cho ngôi sao xếp lần lƣợt từng cạnh một bằng cách lặp lại công việc tạo bản sao và di chuyển sang vị trí tiếp theo. 92 https://vietstem.com/
Hình 2.10.9. Sắp xếp các bản sao Với cột đầu tiên, Ngôi sao đƣợc lập trình di chuyển từ dƣới lên trên, tức là giá trị tung độ của Ngôi sao đƣợc tăng. Hình 2.10.10. Cột sao thứ nhất Hàng tiếp theo, Ngôi sao di chuyển từ trái sang phải, tức là giá trị hoành độ của ngôi sao đƣợc tăng. Hình 2.10.11. Hàng sao 93 https://vietstem.com/
Cột cuối cùng, Ngôi sao di chuyển từ trên xuống dƣới, tức là giảm giá trị tung độ của Ngôi sao. Hình 2.10.12. Cột sao thứ 2 Chỉ bản sao mới có hiệu ứng nên sau khi tạo đủ bản sao rồi, các bạn ẩn ngôi sao đi bằng khối lệnh Ẩn trong nhóm lệnh Ngoại hình. Tuy nhiên để tránh việc khi chạy lại chƣơng trình lần sau Ngôi sao vẫn bị ẩn thì ta thêm khối lệnh Hiện vào đầu đoạn khối lệnh. Cuối cùng là khối lệnh kích hoạt và đặt vị trí bắt đầu cho Ngôi sao. Hình 2.10.13. Đoạn khối lệnh hoàn chỉnh Chƣơng thiết kế Thiệp sinh nhật đến đây là kết thúc, chúng ta đã đƣợc trang bị những kiến thức cơ bản để có thể tự thiết kế một tấm thiệp cho riêng mình. 94 https://vietstem.com/
Tóm tắt lý thuyết và bài tập thực hành 95 https://vietstem.com/
CHƢƠNG Trong chƣơng này, các bạn sẽ đƣợc hƣớng dẫn để tạo ra một chiếc đồng hồ kim. Sau đó, các bạn sẽ học đƣợc cách thiết kế các thành phần của đồng hồ và lập trình cho các kim để đồng hồ hoạt động với thời gian chính xác nhƣ thời gian đƣợc cài đặt trên máy tính. Tổng quan chƣơng trình Chiếc đồng hồ gồm bốn đối tƣợng thành phần: Mặt đồng hồ, kim giờ, kim phút và kim giây. 96 https://vietstem.com/
1. Mặt đồnghồ Hình dạng, màu sắc và các số trên đồng hồ đƣợc biểu diễn ở đối tƣợng Mặt đồng hồ. 2. Kim giờ Đối tƣợng Kim giờ mô phỏng chuyển động của kim giờ. 3. Kim phút Đối tƣợng Kim phút mô phỏng chuyển động của kim phút. 4. Kim giây Đối tƣợng Kim giây mô phỏng chuyển động của kim giây. https://vietstem.com/ 97
Mặt đồng hồ đƣợc tạo bởi hai hình vuông và hai đƣờng tròn bên trong. Trƣớc tiên, chúng ta cần vẽ đƣờng viền hình vuông ngoài cùng bằng cách chọn công cụ Hình chữ nhật , kéo thả chuột đồng thời nhấn giữ phím Shift để vẽ đƣợc hình vuông. Hình 3.1.1. Vẽ hình vuông Chỉnh lại tâm hình vuông trùng với điểm chấm tròn ở chính giữa. Hình 3.1.2. Chỉnh tâm hình vuông 98 https://vietstem.com/
Di chuyển hình vuông trên trang vẽ để điểm chính giữa hình vuông trùng với tâm trang vẽ. Các bạn có thể sử dụng chức năng phóng to để điều chỉnh dễ dàng hơn. Hình 3.1.3. Chỉnh tâm hình vuông bằng tâm trang vẽ Tô màu bên trong hình vuông bằng công cụ , chỉnh màu và kích thƣớc nét vẽ đƣờng viền tuỳ ý. Hình 3.1.4. Chỉnh kích thước, màu đường viền và tô màu https://vietstem.com/ 99
Search
Read the Text Version
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191