{"id":119,"date":"2024-06-07T08:52:12","date_gmt":"2024-06-07T11:52:12","guid":{"rendered":"http:\/\/pplay.local\/?page_id=119"},"modified":"2024-06-19T12:54:26","modified_gmt":"2024-06-19T15:54:26","slug":"sprite","status":"publish","type":"page","link":"http:\/\/www2.ic.uff.br\/pplay\/documentacao\/sprite\/","title":{"rendered":"Sprite"},"content":{"rendered":"\n<p>A classe principal para personagens jog\u00e1veis, podendo ser animado ou n\u00e3o.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Fun\u00e7\u00f5es da Classe<\/h2>\n\n\n\n<p><strong>Sprite(image_file, frames=1)<\/strong><br>Cria um&nbsp;<strong>Sprite<\/strong>&nbsp;utilizando a imagem&nbsp;<em>image_file<\/em>. Caso ele&nbsp;seja animado, a vari\u00e1vel&nbsp;<em>frames<\/em>&nbsp;deve ser modificada para definir o n\u00famero de&nbsp;<em>frames<\/em>&nbsp;da anima\u00e7\u00e3o.<\/p>\n\n\n\n<p><strong>move_key_x(speed)<\/strong><br>Move o&nbsp;<strong>Sprite<\/strong>&nbsp;com determinada&nbsp;<em>speed<\/em>&nbsp;no eixo X quando a tecla&nbsp;<em>LEFT<\/em>&nbsp;ou&nbsp;<em>RIGHT<\/em>&nbsp;for pressionada.<\/p>\n\n\n\n<p><strong>move_key_y(speed)<\/strong><br>Move o&nbsp;<strong>Sprite<\/strong>&nbsp;com determinada&nbsp;<em>speed<\/em>&nbsp;no eixo Y quando a tecla&nbsp;<em>UP<\/em>&nbsp;ou&nbsp;<em>DOWN<\/em>&nbsp;for pressionada.<\/p>\n\n\n\n<p><strong>move_x(speed)<\/strong><br>Move o&nbsp;<strong>Sprite<\/strong>&nbsp;com determinada&nbsp;<em>speed<\/em>&nbsp;no eixo X, independentemente do&nbsp;<em>input<\/em>&nbsp;do jogador.<\/p>\n\n\n\n<p><strong>move_y(speed)<\/strong><br>Move o&nbsp;<strong>Sprite<\/strong>&nbsp;com determinada&nbsp;<em>speed<\/em>&nbsp;no eixo Y, independentemente do&nbsp;<em>input<\/em>&nbsp;do jogador.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fun\u00e7\u00f5es Importadas de\u00a0<strong><a href=\"http:\/\/www2.ic.uff.br\/pplay\/documentacao\/animation\/\" data-type=\"page\" data-id=\"93\">Animation<\/a><\/strong><\/h2>\n\n\n\n<p><strong>collided(game_object)<\/strong><em>\/\/ Originalmente de\u00a0<strong><a href=\"http:\/\/www2.ic.uff.br\/pplay\/documentacao\/gameobject\/\" data-type=\"page\" data-id=\"110\">GameObject<\/a><\/strong><\/em><br>Retorna um\u00a0<em>boolean<\/em>\u00a0que indica se esse objeto colidiu com o\u00a0<em>game_object<\/em>.<\/p>\n\n\n\n<p><strong>collided_perfect(gameimage1, gameimage2):<\/strong><em>\/\/ Originalmente de\u00a0<\/em><strong><a href=\"http:\/\/www2.ic.uff.br\/pplay\/documentacao\/collision\/\" data-type=\"page\" data-id=\"102\">Collision<\/a><\/strong><br>Retorna um\u00a0<em>boolean<\/em>\u00a0indicando se pontos n\u00e3o transparentes de dois\u00a0<strong><a href=\"http:\/\/www2.ic.uff.br\/pplay\/documentacao\/gameimage\/\" data-type=\"page\" data-id=\"107\">GameImage<\/a><\/strong>\u00a0colidiram.<\/p>\n\n\n\n<p class=\"obs\"><strong>Observa\u00e7\u00e3o:<\/strong>\u00a0para entender melhor a diferen\u00e7a de\u00a0<em>collided<\/em>\u00a0e\u00a0<em>collided_perfect<\/em>, visite a documenta\u00e7\u00e3o d<em>e\u00a0<strong><a href=\"http:\/\/www2.ic.uff.br\/pplay\/documentacao\/collision\/\" data-type=\"page\" data-id=\"102\">Collision<\/a><\/strong><\/em>.<\/p>\n\n\n\n<p><strong>set_position(x, y)<\/strong><em>\/\/ Originalmente de\u00a0<\/em><strong><a href=\"http:\/\/www2.ic.uff.br\/pplay\/documentacao\/gameimage\/\" data-type=\"page\" data-id=\"107\">GameImage<\/a><\/strong><br>Define a posi\u00e7\u00e3o do\u00a0<strong>Sprite<\/strong>.<\/p>\n\n\n\n<p><strong>set_sequence(initial_frame, final_frame, loop=True)<\/strong><br>Define o frame inicial e o frame final da sequ\u00eancia de frames da anima\u00e7\u00e3o, utilizando&nbsp;<em>initial_frame<\/em>&nbsp;e&nbsp;<em>final_frame<\/em>, respectivamente. Define tamb\u00e9m pelo&nbsp;<em>booleanloop<\/em>&nbsp;se a anima\u00e7\u00e3o do&nbsp;<strong>Sprite<\/strong>&nbsp;deve ficar repetindo infinitamente.<\/p>\n\n\n\n<p><strong>set_sequence_time(initial_frame, final_frame, total_duration, loop=True)<\/strong><br>Define o frame inicial e o frame final da sequ\u00eancia de frames do&nbsp;<strong>Sprite<\/strong>, utilizando&nbsp;<em>initial_frame<\/em>&nbsp;e&nbsp;<em>final_frame<\/em>, respectivamente. Define em&nbsp;<em>total_duration<\/em>&nbsp;o tempo que a anima\u00e7\u00e3o do&nbsp;<strong>Sprite<\/strong>&nbsp;deve demorar para efetuar um&nbsp;<em>loop<\/em>&nbsp;completo (valor em milissegundos). Define tamb\u00e9m pelo&nbsp;<em>booleanloop<\/em>&nbsp;se o&nbsp;<em>loop<\/em>&nbsp;deve ficar repetindo infinitamente.<\/p>\n\n\n\n<p><strong>set_total_duration(time_ms)<\/strong><br>Define o tempo (em milissegundos) que a anima\u00e7\u00e3o do&nbsp;<strong>Sprite<\/strong>&nbsp;demora para efetuar um&nbsp;<em>loop<\/em>&nbsp;completo.<\/p>\n\n\n\n<p><strong>update()<\/strong><br>Realiza o controle de anima\u00e7\u00e3o do&nbsp;<strong>Sprite<\/strong>. Deve ser chamada a cada game&nbsp;<em>loop<\/em>.<\/p>\n\n\n\n<p><strong>draw()<\/strong><br>Desenha o atual frame da anima\u00e7\u00e3o do&nbsp;<strong>Sprite<\/strong>&nbsp;o na janela.<\/p>\n\n\n\n<p><strong>stop()<\/strong><br>Para a execu\u00e7\u00e3o e coloca o frame inicial como atual.<\/p>\n\n\n\n<p><strong>play()<\/strong><br>Inicia a anima\u00e7\u00e3o.<\/p>\n\n\n\n<p><strong>pause()<\/strong><br>Pausa a anima\u00e7\u00e3o no frame atual.<\/p>\n\n\n\n<p><strong>is_playing()<\/strong><br>Retorna um&nbsp;<em>boolean<\/em>&nbsp;que diz se a anima\u00e7\u00e3o do&nbsp;<strong>Sprite<\/strong>&nbsp;est\u00e1 sendo executado.<\/p>\n\n\n\n<p><strong>is_looping()<\/strong><br>Retorna um&nbsp;<em>boolean<\/em>&nbsp;que diz se a anima\u00e7\u00e3o do&nbsp;<strong>Sprite<\/strong>&nbsp;est\u00e1 em&nbsp;<em>loop<\/em>.<\/p>\n\n\n\n<p><strong>set_loop(loop)<\/strong><br>Define por um&nbsp;<em>boolean<\/em>&nbsp;se a anima\u00e7\u00e3o do&nbsp;<strong>Sprite<\/strong>&nbsp;deve ser executada em&nbsp;<em>loop<\/em>.<\/p>\n\n\n\n<p><strong>hide()<\/strong><br>N\u00e3o permite que o&nbsp;<strong>Sprite<\/strong>&nbsp;apare\u00e7a na tela.<\/p>\n\n\n\n<p><strong>unhide()<\/strong><br>Torna o&nbsp;<strong>Sprite<\/strong>&nbsp;desenh\u00e1vel novamente.<\/p>\n\n\n\n<p><strong>get_total_duration()<\/strong><br>Retorna a dura\u00e7\u00e3o total do&nbsp;<strong>Sprite<\/strong>&nbsp;como&nbsp;<em>int<\/em>&nbsp;em&nbsp;<em>milissegundos<\/em>.<\/p>\n\n\n\n<p><strong>set_initial_frame(frame)<\/strong><br>Define o n\u00famero do frame que passar\u00e1 a ser considerado o inicial.<\/p>\n\n\n\n<p><strong>get_initial_frame()<\/strong><br>Retorna um&nbsp;<em>int<\/em>&nbsp;com o n\u00famero do frame inicial.<\/p>\n\n\n\n<p><strong>set_final_frame(frame)<\/strong><br>Define o n\u00famero do frame que passar\u00e1 a ser considerado o final.<\/p>\n\n\n\n<p><strong>get_final_frame()<\/strong><br>Retorna um&nbsp;<em>int<\/em>&nbsp;com o n\u00famero do frame final.<\/p>\n\n\n\n<p><strong>set_curr_frame(frame)<\/strong><br>Define o n\u00famero do frame que passar\u00e1 a ser o atual.<\/p>\n\n\n\n<p><strong>get_curr_frame()<\/strong><br>Retorna um&nbsp;<em>int<\/em>&nbsp;com o n\u00famero do frame atual.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A classe principal para personagens jog\u00e1veis, podendo ser animado ou n\u00e3o. Fun\u00e7\u00f5es da Classe Sprite(image_file, frames=1)Cria um&nbsp;Sprite&nbsp;utilizando a imagem&nbsp;image_file. Caso ele&nbsp;seja animado, a vari\u00e1vel&nbsp;frames&nbsp;deve ser modificada para definir o n\u00famero de&nbsp;frames&nbsp;da anima\u00e7\u00e3o. move_key_x(speed)Move o&nbsp;Sprite&nbsp;com determinada&nbsp;speed&nbsp;no eixo X quando a tecla&nbsp;LEFT&nbsp;ou&nbsp;RIGHT&nbsp;for pressionada. move_key_y(speed)Move o&nbsp;Sprite&nbsp;com determinada&nbsp;speed&nbsp;no eixo Y quando a tecla&nbsp;UP&nbsp;ou&nbsp;DOWN&nbsp;for pressionada. move_x(speed)Move o&nbsp;Sprite&nbsp;com determinada&nbsp;speed&nbsp;no eixo X, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":38,"menu_order":8,"comment_status":"closed","ping_status":"closed","template":"document-template.php","meta":{"footnotes":""},"_links":{"self":[{"href":"http:\/\/www2.ic.uff.br\/pplay\/wp-json\/wp\/v2\/pages\/119"}],"collection":[{"href":"http:\/\/www2.ic.uff.br\/pplay\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/www2.ic.uff.br\/pplay\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/www2.ic.uff.br\/pplay\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www2.ic.uff.br\/pplay\/wp-json\/wp\/v2\/comments?post=119"}],"version-history":[{"count":5,"href":"http:\/\/www2.ic.uff.br\/pplay\/wp-json\/wp\/v2\/pages\/119\/revisions"}],"predecessor-version":[{"id":471,"href":"http:\/\/www2.ic.uff.br\/pplay\/wp-json\/wp\/v2\/pages\/119\/revisions\/471"}],"up":[{"embeddable":true,"href":"http:\/\/www2.ic.uff.br\/pplay\/wp-json\/wp\/v2\/pages\/38"}],"wp:attachment":[{"href":"http:\/\/www2.ic.uff.br\/pplay\/wp-json\/wp\/v2\/media?parent=119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}