Deyarli bo„sh oyna. Bu yerda biz xatolarni qayta ishlashni muhokama qilamiz, hamda main() funksiyasida grafikani tasvirlashga o‗tamiz:
24 http://www.cplusplus.com/
Point tl(100,100); // oynamizning yuqori chap burchagi
Simple_window win(tl,600,400,"Canvas");
// tl oyna koordinatalari chap yuqori burchakka joy beradi
// 600*400 oyna o‗lchami
// sarlavha: Canvas win.wait_for_button(); // tasvirlash!
Ekranda oyna chiqishi uchun, biz tizim boshqaruvini grafik foydalanuvchi
interfeysiga beramiz. Buning uchun win.wait_for_button() funksiyasidan foydalanamiz. Natija quyidagi rasmda keltirilgan.
Bizning vazifamiz – ekranga chiqarish uchun obyektlarni yaratish mumkin bo‗lgan, sinflarni aniqlash. Masalan, siniq chiziq ko‗rinishida grafik chizishimiz mumkin. Quyida bu vazifani bajarish uchun katta bo‗lmagan dastur keltirilgan:
#include "Simple_window.h" // oyna kutubxonasiga kirishni ochadi
#include "Graph.h" // garfik kutubxonaga kirishni ochadi
int main()
{
using namespace Graph_lib; // bizning grafik vositalarimiz
// bo‗shliqda joylashgan
// Graph_lib nomi
Point tl(100,100); // ekranning yuqori chap burchagini beramiz
Simple_window win(tl,600,400,"Canvas"); //sodda oynani yaratamiz
Polygon poly; // shaklni yaratamiz(ko‗pburchak) poly.add(Point(300,200)); // nuqtani qo‗shamiz
poly.add(Point(350,100)); // boshqa nuqtani qo‗shamiz
poly.add(Point(400,200)); // uchinchi nuqtani qo‗shamiz
poly.set_color(Color::red); // poly obyekt vositasini aniqlaymiz
win.attach (poly); // poly obyektini oyna bilan bog‗laymiz
win.wait_for_button(); // boshqaruvni ekran drayverga uzatamiz
}
Bu dasturni ishga tushirib, biz taxminan quyidagi tasvirni ko‗ramiz.
Dastur satrlari bo‗ylab, uni qanday ishlashini ko‗rib chiqamiz. Birinchi navbatda dasturga grafik interfeysimizdagi kutubxonaning boshlang‗ich fayllarini keltiramiz.
#include "Simple_window.h" // oyna kutubxonasiga kirishni ochadi
#include "Graph.h" // garfik kutubxonaga kirishni ochadi
Keyin main() funksiyasida biz kompyuterga, grafik kutubxonamiz vositalari
Graph_lib nomli makonda joylashganini xabar qilamiz.
using namespace Graph_lib; // grafik vositalari Graph_lib nomli makonda joylashgan
Keyin oynamizning yuqori chap burchagi koordinatalari deb hisoblaydigan
nuqtani belgilaymiz.
Point tl(100,100); // ekrannnig yuqori chap burchagi koordinatalarini beramiz
Keyin ekranda oyna yaratamiz.
Simple_window win(tl,600,400,"Canvas"); // sodda oyna yaratamiz
Buning uchun Graph_lib kutubxonasida oynani tasvirlovchi,
Simple_window sinfidan foydalanamiz. Simple_window sinfining aniq obyekti win nomi bilan nomlanadi; boshqacha aytganda win – bu Simple_window sinfining o‗zgaruvchisi.
Canvas satri oynani belgilash uchun foydalaniladi. Agar yaxshilab qaralsa, unda oyna ramkasining yuqori chap burchagida Canvas so‗zini ko‗rish mumkin.
Oynaga obyektni joylashtiramiz.
Polygon poly; // shaklni yaratamiz (ko‗pburchak)
poly.add(Point(300,200));
|
//
|
nuqta qo‗shamiz
|
poly.add(Point(350,100));
|
//
|
boshqa nuqta qo‗shamiz
|
poly.add(Point(400,200));
|
//
|
uchinchi nuqtani
|
qo‗shamiz
poly ko‗pburchakni belgilaymiz, so‗zngra unga nuqtani qo‗shamiz. Bizning grafik kutubxonamizda Polygon sinf obyektlari bo‗sh yaratiladi, biz unga xoxlagancha nuqtalar sonini qo‗shishimiz mumkin. Biz uchta nuqta qo‗shdik va uchburchak hosil qildik. Nuqtalar o‗zida oynada berilgan gorizontal va vertikal x va u koordinatalarni aks ettiradi.
Bunday imkoniyatni namoyish etish uchun, ko‗pburchak tomonlarini qizil rang bilan berdik.
poly.set_color(Color::red); // poly obyekti vositalarini aniqlaymiz
Do'stlaringiz bilan baham: |