Tip:
Highlight text to annotate it
X
>> DAVID 마란 :의 프로그램을 작성하자 와 창 원을 포함한
앞뒤로 수신 거부 원 왼쪽과 오른쪽 해제
해당 윈도우의 가장자리.
이렇게하려면,의는 스탠포드를 사용하자 휴대용 도서관, 먼저하자
gevents.h을 포함 우리가 할 수 있도록 마우스의 움직임을 인식.
의 다음 gobjects.h을 포함하게되도록 우리는 타원 같은 것을 선언하거나 수
원, 정말.
다음의이 gwindow.h을 포함하게되도록 우리는을위한 그래픽 창을
모든.
>> 의는 일반적인 방법으로 주요 선언합시다.
그리고 지금의 선언하고 인스턴스화 할 또는 해당 창, GWindow 만들기 -
우리는 변수 창을 호출합니다 -
newGWindow 가져옵니다.
그리고 우리는 임의로 만들거야 320 x 240 픽셀.
>> 의 다음 원을 인스턴스화 할 수 있습니다.
그러나이 원을 인스턴스화, 우리는 조금 더 많은 작업을 수행해야합니다.
특히,의이 원을 작성하자 전체 것은되도록
그냥 검은 색이 아닌 그 설명합니다.
GOval -
우리는 원을 호출합니다 -
newGOval 가져옵니다.
우리는 0, 110이 타원형을 넣어 것입니다, 우리는거야 폭 넓은 타원형 20 픽셀을
높은 20 픽셀 - 즉, (20)의 직경이 10의 반경.
>> 의는 지금 원의 색상을 설정할 수 있습니다 인용을 끝 맺다, 할 수 "검정." 하자
지금이 채워 설정 사실 지정하여.
그리고 지금 마지막으로,의가 원을 추가 할 수 같은 창은 다음있다
후자는 이전에 추가됩니다.
>> 의 지금은 두 번 선언 할 수 있습니다.
우리는 속도를 호출합니다.
다소 임의로의 말을하자 이 원의 속도가 될 것입니다
2.0, 즉,이 화소 시간의 모든 단위.
그리고 지금은 의도적으로하자 무한 루프를 유도한다.
>> 그래서이 원을 만드는 방법 앞뒤로 바운스?
음의이 루프 내에서 가정하자 그 시간의 모든 단위, 우린
원에게 조금을 이동하는 것 2 픽셀의 속도에 따라 비트
단위 시간 당.
그러나 지속적으로, 우리는해야 할 것입니다 원이 감동되어 있는지 확인
화면 또는 왼쪽의 오른쪽 가장자리 화면의 가장자리 때문에 그렇다면, 우리
말하자면, 반송을해야합니다.
>> 어떻게 구현하는 방법 수신 거부의 개념?
그럼 우리는 2 픽셀로려고하는 경우에 적절한 시간의 단위 당, 반사하는
오른쪽 가장자리는, 우리는 간단하게 취소 할 수 있습니다 즉, 단위 당 음 2 픽셀이어야합니다
시간을함으로써 부정 속도.
그래서 사실, 수신 거부는 상대적이다 간단합니다.
>> 의 처음이 많은 원을 가자 이것에 의해 x-축을 따라 화소,
y 축을 따라 많은 픽셀.
즉, 우리는하고 싶지 않아 일절 Y-축을 따라 이동한다.
우리는 단지 그것을 다시 회복 할 전후 좌우.
>> 그리고 이제 지금이 루프 내에서 확인 할 경우 원의 x 좌표 플러스
원의 폭도 크다 이상 또는 동등
윈도우의 폭 -
다른 말로, 만약 원의 위치 플러스 원의 폭
자체는 가장자리를 지금 창, 우리는 거라고
더 나은 속도를 리버스 -
속도함으로써, 음의 속도를 가져옵니다 에 긍정적 인 뒤집기
긍정적으로 부정 음.
그러나 원에서 무엇을 이동하는 경우 왼쪽에서 오른쪽으로 따라서 안타
왼쪽 가장자리?
즉, x-좌표의 경우 원은 이제 이하인
0,의에 앞서 다시 가자 우리의 속도를 반전.
>> 그래서 내가 왜에 추가하지 않은 원이 폭
시간, 내가 전에했던 것처럼?
음, 명심 좌표 객체의 정의된다
상단 왼쪽 코너로, 하지의 중간에 의해.
그리고 원에서 움직일 때 왼쪽에서 오른쪽으로, 우리는 확인해야
여부의 오른쪽 가장자리 원 통과
윈도우의 오른쪽 가장자리.
그래서 우리는, 그게 뭔지 알아낼 원의 x 좌표를 얻을 수
플러스 원의 폭도 이동 자신 왼쪽 상단에서
코너, 효과적으로에 오른쪽 상단.
원은 오른쪽에서 이동하는 경우 왼쪽은, 그 사이에, 우리는 할 필요가 없습니다
이러한 또한 신경 때문에 원의 왼쪽 상단 모서리입니다
우리는거야 이미 값 GET의 X에서 얻을.
>> 의 지금 공을 이동하자.
의 지금, 저장, 컴파일 및이를 실행하자 프로그램은. / 바운스 바운스를합니다.
그리고 거기에서 우리는 프로그램이있다.
>> 하지만 원, 워낙 빠르게 이동 그것은 무엇을보고 거의 불가능
실제로 일어나고.
그래서 강제적으로의에게 매우 프로그램을 보자 오른쪽 상단에있는 X를 클릭
여기에 코너.
의 지금은 소스 코드로 다시 가자 느린 것을 아래로 조금.
>> 즉,이 무한 이내 오히려 단지 및 이동보다 루프,
이동하고 다시 광고 nauseum, 이제 남아하자 몇 밀리 초 동안
다시 이동하는 진행하기 전에.
특히,의 바닥에 가자 여기에 단순히 무한 루프의
10 밀리 초, 말에 대한 일시 정지 각각의 반복에.
의 지금 다시 컴파일하고 다시 실행 바운스하자.
그리고 지금 우리는 훨씬 더 합리적인 참조 우리가 볼 수있는 구현,
원 진정에 수신 거부 왼쪽과 오른쪽 가장자리.