инструменты для пигмеев - PullRequest
0 голосов
/ 01 июля 2010

Я только начал изучать pygame, и для позиционирования объекта ему нужны координаты и точки в коде. Знаете ли вы какой-либо инструмент или приложение, которое я мог бы использовать в качестве справки, чтобы я мог видеть визуальное представление точек. Может быть, сетка с числами. И Pygame также включает в себя объявление цвета с помощью чисел. Знаете ли вы какой-либо сайт или приложение, которое я могу использовать в качестве ссылки на эти цифры и соответствующий цвет. Вот так: 230, 170, 0 И что означают эти цифры. Я использую операционную систему Windows.

Ответы [ 8 ]

2 голосов
/ 21 октября 2012

Я учу студентов в возрасте 12 лет системе координат в Pygame, так что это не так уж сложно. Это действительно похоже на рисование простых графиков в начальной школе, но вверх ногами.

Pygame позволяет создать экран для вашей игры:

import pygame 
from pygame.locals import *

#variables for your x,y axis width and  height
screen_width = 500
screen height = 300

#variables for rectangle dimensions

rectangle_width = 10
rectangle_height = 20

         #R   G   B
RED = (255, 0 ,  0)

#start pygame
pygame.init()

#create a screen
SCREEN = pygame.display.set_mode((screen_width,screen_height))

#tell pygame to execute your pygame code
pygame.display.update()

Использование системы координат

Теперь у вас есть сетка x, y, начинающаяся с (0,0) в верхней части, с координатами (500,0) в верхнем правом и нижнем левом (0,300) и т. Д.

Для того, чтобы разместить форму вы должны помнить, Pygame выбирает левый верхний угол вашего (объект) прямоугольник в качестве опорной точки в системе.

Если бы вы хотели красный прямоугольник в левом верхнем углу экрана, вы бы сделали это:

pygame.draw.rect(SCREEN,RED(0,0,rectangle_width,rectangle_height))

Это поместит красный прямоугольник шириной 10 и высотой 20 в верхний левый угол (0,0).

С этого момента изменение положения прямоугольника означает увеличение или уменьшение (0,0) аргументов в приведенном выше коде прямоугольника.

Например, чтобы снять прямоугольник сверху вниз слева направо, просто измените (0,0) на (0,300)

На этом сайте отлично обсуждаются координаты пигмеев от новичка до продвинутого:

http://inventwithpython.com/makinggames.pdf

Автор Al Sweigart также ответит на ваши письма.

Я заставляю студентов перемещать прямоугольник в центр, внизу справа и т. Д., Чтобы освоить его.

2 голосов
/ 01 июля 2010

В Pygame координаты работают как (x, y) смещение от верхнего левого угла, я полагаю (где справа налево положительно на шкале x, а вниз - положительно на оси -масштаб). Это делается в количестве пикселей. После того, как я использовал Pygame в течение нескольких дней, я смог догадаться, какие значения x и y мне нужны, и я всегда был довольно близок. Просто нужно привыкнуть.

Эти цифры для цвета являются значениями RGB. Вы можете найти больше информации об этом здесь . Опять же, как только вы привыкнете использовать его, вы, как правило, сможете довольно точно угадать цвет, который вам нужен. Если вам нужен очень специфический цвет, вы можете открыть Microsoft Paint и выбрать пользовательский цвет, дважды щелкнув по одному из цветов в вашей палитре. Затем нажмите «Определить пользовательские цвета» и выберите свой цвет. Там отображаются значения RGB (R - красный, G - зеленый, B - синий).

Если то, что я сказал, не имеет смысла для вас, пожалуйста, попросите разъяснений: -)

2 голосов
/ 28 мая 2012

как последнее добавление, для расшифровки RGB .. http://0to255.com/ отличный сайт

1 голос
/ 01 июля 2010

Вам не нужна сетка, чтобы помочь вам, вам просто нужно знать точку начала (легко - это один из углов). Поскольку все это интерпретируется, я говорю, что вы просто рубите отображение на экране, пока оно не щелкнет в вашей голове.

Другая часть проста. Это красный, синий, зеленый (0-055, 0 - нет цвета, 255 - полноцветный).

0 голосов
/ 21 апреля 2011

Вы также можете использовать человеческие имена.

import pygame
from pygame.locals import Color

# see pygame.colordict for a full list of human-named colors     
player_color = Color("darkred")

# RGB/RGBA values are in the range 0 to 255
enemy_color = Color(129, 129, 129)

# RRGGBB / RRGGBBAA : hex are in the range 00 to ff
bullet_color = Color("#ffaa39")

Полная информация по адресу: http://www.pygame.org/docs/ref/color.html

0 голосов
/ 03 августа 2010

просто выведите (x, y) координаты в событии движения мыши. каждый раз, когда мышь двигается. для цветов вы также можете использовать Microsoft Paint.

В целом, вы можете попробовать взглянуть на эту серию руководств на YouTube

http://www.youtube.com/phyces

для пигмеев, занимающихся позициями и цветами. Он не вдавался в подробности, но, может быть, вы можете понять, как он это использует. Видео может быть поучительным, если вы только начинаете.

0 голосов
/ 15 июля 2010

Вы должны привыкнуть представлять, где находится точка - это координаты. Это не сложно: точка (0, 0) - это верхний левый угол, и первое значение представляет горизонтальное расстояние в пикселях от левой стороны окна, а второе значение представляет расстояние от верхней части окна. И если вы допустили ошибку, вы можете исправить ее за несколько секунд.

Это калькулятор цветов: Калькулятор цветов

Если вы используете Notepad ++ в качестве редактора, то есть плагин для выбора цвета:

0 голосов
/ 09 июля 2010

цветной помощник: http://www.pangloss.com/seidel/ClrHlpr/color.html

Что касается координат х, у. Это может быть довольно сложно. Я рекомендую сделать некоторые глазные яблоки, как другие предложили. Однако, если вам нужно что-то более точное, вам нужно запачкать руки. Я написал редактор уровней для курса игрового дизайна, который вы можете найти здесь: tstechonline.com/edward/tiles/EdwardLevelEditor.html

Основная идея заключается в том, что интерфейс перетаскивания преобразуется в текстовый файл, который представляет экран в виде сетки. Каждая плитка имеет размер 40x40 пикселей и представлена ​​буквой в выходном файле. Вам понадобится какой-нибудь графический конвертер GUI ->, подобный этому, чтобы помочь вам, если вам нужно что-то более точное, чем приглядывание.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...