Bez kategorii

Wielkości, wysokości i inne takie

Uznałem, że kolejnym etapem w grze będzie dodanie tła pod ten wesoły stateczek wiszący sobie pośrodku ekranu. I super!

Założyłem, że mały ekranik iPhone ma jakąś tam rozdzielczość i ściągnąłem sobie jakiś piaseczek pod tło. Jakież moje zdziwienie, gdy po położeniu tegoż obrazka w pozycji (0,0) ukazał się mym oczom taki oto widok:

Wielkości, wysokości i inne takie

Jednym słowem gdzie mój piaseczek? 🙂 Normalnie go nie ma. Hmmm… A w ogóle to jaką rozdzielczość ma moje okienko:

Wielkości, wysokości i inne takie

O kur… cze. Przecież mimo, że fizycznie niemożliwe, okno moje jest szersze niż wyższe… Okazuje się, że frame mojej sceny czyli rzutowanie obrazu na fizyczny ekran jest poprzez taki port. Jednym słowem silnik stara się wyrenderować taką scenę na dowolnym przedstawionym urządzeniu. Czyli wystarczy, że będę się trzymał środka. To co mnie interesuje, to dół ekranu jest na pozycji 0 (oś y), a środek na pozycji 384 (oś x). No to umieśćmy tam mój piaseczek. Oto kod wskazujący miejsce gdzie chcę go na razie umieścić:

Cóż z tego będzie? Zobaczmy:

Wielkości, wysokości i inne takie

No to mamy ciekawą rzecz. Co to dla niego za punkt? Spodziewałem się, że obrazek z piaskiem pojawi się w taki sposób, że wskazany punkt będzie jego lewym dolnym rogiem i wtedy zobaczymy sporo piachu po prawej stronie ekranu. Jeżeli nie stanie się tak to spodziewałbym się, że punktem zaczepienia będzie prawy górny róg, co oznaczałoby, że dalej nic nie zobaczymy. Tymczasem on chyba ustalił sobie ten punkt pośrodku prawego boku obrazka. Dodamy mu trochę do wysokości i zobaczymy co się pojawi. Ponieważ obrazek piasku ma rozmiar 300×300 dodałem 200 do pozycji w osi y i oczekuję, że piasek będzie wystawał ponad dolną krawędź ekranu:

Wielkości, wysokości i inne takie

Tadaaaaam! Chyba zaczynam łapać. Oznacza to i tak, że piasek powinien mieć rozmiar 1024×768, a samolocik należy umieścić pośrodku ekranu w osi x i kilka pikseli ponad dolną krawędzią w osi y. Spróbujmy:

Czyli piasek umieszczamy w pozycji 0,0 i nadajemy mu odpowiedni rozmiar, a statek kosmiczny umieszczamy pośrodku w osi x i w pozycji jakieś 10 pixeli ponad dolnym brzegiem ekranu. Instrukcja:

wyznacza środek biorąc pod uwagę rozmiar obrazka. A więc wyrówna obrazek do środka ekranu. Gra? Powinno! Zobaczmy:

Wielkości, wysokości i inne takie

Dobra, nie krzyczcie, tak wiem – nie popisałem się. Przecież sam sobie tłukę do głowy, że punkt zaczepienia tego obrazka jest w prawym boku… Hmmmm, to przecież w tej sytuacji nie powinniśmy widzieć piasku wcale… Coś jest nie tak! Wiem co zrobię, położę piasek na środku. A co do samolotu, to przecież muszę jeszcze dodać do osi y połowę jego wysokości, by cały był widoczny.

Zobaczmy po poprawkach:

Wielkości, wysokości i inne takie

I o to chodziło! Mam nadzieję, że w następnym wpisie uda mi się dodać wrażenie tego że samolocik leci do przodu. Gdy już technikalia będą ogarnięte, a MacBook pewnie znów wyląduje na gwarancji, może uda się zabrać za historię gry i jakoś zaadoptować wcześniej wymyślony scenariusz?

One thought on “Wielkości, wysokości i inne takie”

  1. Pingback: dotnetomaniak.pl

Leave a Reply

Your email address will not be published. Required fields are marked *