Задать вопрос
@Shark_14

Как заставить персонажа двигаться в Ren'py?Как сделать предмет активным?

Пытался создать персонажа,получилось,но он вообще не хочет двигаться(ошибки не выдаёт) + хочу сделать доску с расписанием(делаю игру про школу),чтобы при нажатии на неё вылезало картинка-расписание,а при повторном нажатии окно убиралось!Ниже скрипт.Помогите пожалуйста!
#Класс игрока
    class Player(renpy.Displayable):
        def __init__(self):

            renpy.Displayable.__init__(self)

            self.SCENE_RIGHT = 2000
            self.SCENE_LEFT = 0

            self.move_left = False
            self.move_right = False
            self.hspeed = 1000
            self.playery = 250
            self.playery1 = 250
            self.hero_width = 200
            self.hero_height = 250
            self.Image = Image

            self.hero = Image('hero_game.png',xsize = self.hero_width,ysize = self.hero_height)
            self.window = Image('window.png',xsize = 100,ysize = 100)

        def visit(self):
            return [ self.hero ]

        def render(self,width,height,st,at):

            # The Render object we'll be drawing into.
            r = renpy.Render(width, height)

            hero = renpy.displayable('hero_game.png')

            hero_r = renpy.render(self.hero,width, height,st,at)

            r.blit(hero_r,(self.playery,self.playery1))

            # Determines the speed
            if self.move_left:
                self.playery = 250 - self.hspeed
            elif self.move_right:
                self.playery = 250 + self.hspeed

            renpy.redraw(self, 0)

            return r


        def check_events(self,ev,x,y,st):

            import pygame

            # Keyboard controls
            if ev.type == pygame.KEYDOWN:
                if ev.key == pygame.K_LEFT:
                    self.move_left = True
                    self.move_right = False
                elif ev.key == pygame.K_RIGHT:
                    self.move_right = True
                    self.move_left = False
            elif ev.type == pygame.KEYUP:
                if ev.key == pygame.K_LEFT:
                    self.move_left = False
                elif ev.key == pygame.K_RIGHT:
                    self.move_right = False
            else:
                raise renpy.IgnoreEvent()


            # Set the position of the player.
            x = max(x, self.SCENE_RIGHT)
            x = min(x, self.SCENE_LEFT)

            self.playery = x


    #мышка
    def mouse_curs():
        currentpos = renpy.get_mouse_pos() ## Текущее местоположение курсора

        r = renpy.Render(width, height)

        window = renpy.render(self.window,width, height,st,it)

        targetpos = [390,63] ## Местоположение изменение курсора

        if currentpos[0] == targetpos[0] and currentpos[1] == targetpos[1]:
            r.blit(window,(150,100))
        else:
            None

Тут вывод на экран
screen hero():

        default hero = Player()
        default window = Player()

        add 'floor_doska1'

        add hero

        add 'doska':
            xpos 390 ypos 63

    label play_game:

        call screen hero

        window hide  # Hide the window and  quick menu while in pong

$ quick_menu = False
  • Вопрос задан
  • 1599 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы