# 選一個開始執行程式的條件吧！

## 事件導向程式設計

在Scratch環境中設計程式，第一件事是要決定我們加入的程式積木要在什麼條件發生的時候開始執行它們。此種方式，可以看做是「事件導向」的程式設計方式。

在電腦中有許多的「事件」會不斷地發生，而如果我們把這些事件聚焦在Scatch的舞台上的話，當「角色」被滑鼠點擊的時候，此角色可以採取一些回應，而回應的方式是使用程式積木來安排設計，那麼事件就是「當角色被點擊」。而如果在程式的執行過程中，當電腦的鍵盤被按下去了，不同的按鍵要有不同的回應，這種事件就是「當某一特定按鍵被按下」。其它的像是「角色碰到另外一個角色」、「角色碰到邊緣」、「時間到了」、「收到xx訊息」等等，都是在程式執行過程會遇到的事件，都可以分別加以處理。

不過，就算什麼特別事件都沒有發生也要執行程式碼的話，可以透過「當旗子被按下時」這個事件，當做是整個程式開始執行的按鈕，這個旗子的按鈕就在舞台的左上方，也就是所謂的「開始」按鈕。

因此，在編寫Scratch程式碼的時候，所有的積木都至少要相依於任何其中一個事件積木下面，它才有被執行到的機會喔。

可以選用的事件積木如下圖所示：

![](/files/-LZOMCeU7y2qiZA6lKcP)

## 物件導向程式設計

此外，在Scratch程式中，每一個角色或舞台，我們可以把它當作是一個個的「物件」或「個體」，每一個物件在還沒開始回應展現它的行為時，可以利用環境介面來設定它的屬性參數，例如大小、位置、顏色、造型、背景、聲音等等，這些設計的參數會直接地影響到此物件的呈現方式，這些參數也可以在程式的執行過程中透過積木加以改變。

設定了屬性之後，每一個物件的行為是由程式積木來控制的，因此，不同的物件如果想要能夠展現出一些行為的話，就需要針對物件本身來安排程式積木，而這些程式積木是跟著角色走的，編寫程式積木時一定要選好角色再開始。

## 教學影片--按鍵控制以及來回飛翔的貓咪

{% embed url="<https://youtu.be/ALbkvHLvMhw>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://nkust.gitbook.io/scratch-3/shi-hang-cheng-shi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
