• Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта

Создаем виртуального персонажа для сайта на javascript

Здравствуйте, давайте создадим простого помощника на сайт (персонажа на сайт, инфа для сайта), кликая по которому будет меняться его анимация – для этого воспользуемся javascript кодом.

Скачать исходники для статьи можно ниже

Анимировать персонажа будем с помощью спрайтов, которые можно бесплатно скачать например со следующих сайтов:

“Spriters-resource.com”
“Gameart2d.com”
“OpenGameArt.org”
“Opengamegraphics.com”
“Kenney.nl”
“Reinerstilesets.de”

Я буду использовать следующий спрайт:

Скачать спрайт можно по следующей ссылке.

Спрайт у нас следующих размеров: width=3376 height=1609 (понадобится для javascript кода).

Также можно добавить фон, например следующую картинку:

Скачать данную картинку можно по следующей ссылке.

Теперь перейдем к анимации персонажа с помощью javascript.
При клике на анимацию, она будем случайным образом меняться на другую.

Код javascript анимации:

<div id='klik' onclick='klik()'>
<canvas id='canvas' style='background-image: url(/wp-content/uploads/2018/06/background1.jpg)'></canvas><br />
</div>	
		
		<script>
		    var k = 0;
		
			var canvasWidth = 300; 
			var canvasHeight = 400;
			
			var spriteWidth = 3376; 
			var spriteHeight = 1609; 
			
			var rows = 4; 
			var cols = 15; 
			
			var trackRight = 1; 
			var trackLeft = 2; 
			
			var width = spriteWidth/cols; 
			var height = spriteHeight/rows; 
			
			var curFrame = 0; 
			var frameCount = 8; 
			
			var x=0;
			var y=0; 
			
			var srcX; 
			var srcY; 
			
			var left =  false;
			var right =  true;
			
			var speed = 10; 
			
			var canvas = document.getElementById('canvas');
			canvas.width = canvasWidth;
			canvas.height = canvasHeight; 
			
			var ctx = canvas.getContext("2d");
			
			var character = new Image(); 
			character.src = "/wp-content/uploads/2018/06/girl.png";
			
			function updateFrame(){
				curFrame = ++curFrame % frameCount; 				
				srcX = curFrame * width; 
				ctx.clearRect(x,y,width,height);	
				
				if(left && x>0){
					srcY = trackLeft * height; 
					x-=speed; 
				}
				if(right && x<canvasWidth-width){
					srcY = trackRight * height; 
					x+=speed; 
				}
			}
			
			function draw(){
			    if (left!=right) {
				updateFrame();
			} 
				ctx.drawImage(character,srcX,srcY,width,height,x,y,width,height);
			}
			
			function klik(){
			    
			    if (k==0) {
			    left = true;
			    right = false;
			    }
		    	if (k==1){
		    	left = false;
		    	right = false;
		    	}
			   	if (k==2) {
			    left = false;
			    right = true;
			    k = -1;
			   	}
			    k = k + 1;
			
			}
		
			
			setInterval(draw,100);
			
		</script>

В данной анимации мы будем использовать не весь спрайт, а только вторую и третью строчку с изображениями, поэтому в параметрах:
var trackRight = 1;
var trackLeft = 2;
указываем 1 и 2, если бы мы захотели использовать первую и вторую строчку, то нужно было бы указать 0 и 1.

В параметрах:
var canvasWidth = 300;
var canvasHeight = 400;
указываем размер окошка, в котором будет показана наша анимация.

В параметрах:
var spriteWidth = 3376;
var spriteHeight = 1609;
указываем ширину и высоту спрайта.

В параметрах:
var rows = 4;
var cols = 15;
указываем количество строк и столбцов в спрайте.

В параметре:
var speed = 10;
указываем на сколько будет смещаться персонаж в анимации, можно поставить, например, значение равное 0.1, тогда персонаж будет стоять на месте.

Также можно добавить кнопки к нашей анимации, а клики убрать:

, тогда код будет следующим:

<canvas id='canvas' style='background-image: url(/wp-content/uploads/2018/06/background1.jpg)'></canvas><br />
   

    	<button onclick='moveLeft()'>Left</button>
		<button onclick='moveRight()'>Right</button>
		<button onclick='moveStop()'>Stop</button>
         
        <script>
            var k = 0;
         
            var canvasWidth = 300; 
            var canvasHeight = 400;
             
            var spriteWidth = 3376; 
            var spriteHeight = 1609; 
             
            var rows = 4; 
            var cols = 15; 
             
            var trackRight = 1; 
            var trackLeft = 2; 
             
            var width = spriteWidth/cols; 
            var height = spriteHeight/rows; 
             
            var curFrame = 0; 
            var frameCount = 8; 
             
            var x=0;
            var y=0; 
             
            var srcX; 
            var srcY; 
             
            var left =  false;
            var right =  true;
             
            var speed = 10; 
             
            var canvas = document.getElementById('canvas');
            canvas.width = canvasWidth;
            canvas.height = canvasHeight; 
             
            var ctx = canvas.getContext("2d");
             
            var character = new Image(); 
            character.src = "/wp-content/uploads/2018/06/girl.png";
             
            function updateFrame(){
                curFrame = ++curFrame % frameCount;                 
                srcX = curFrame * width; 
                ctx.clearRect(x,y,width,height);    
                 
                if(left && x>0){
                    srcY = trackLeft * height; 
                    x-=speed; 
                }
                if(right && x<canvasWidth-width){
                    srcY = trackRight * height; 
                    x+=speed; 
                }
            }
             
            function draw(){
                if (left!=right) {
                updateFrame();
            } 
                ctx.drawImage(character,srcX,srcY,width,height,x,y,width,height);
            }
             
            function moveLeft(){
				left = true; 
				right = false; 
			}
			
			function moveRight(){
				left = false;
				right = true; 
			}
			
			function moveStop(){
				left = false;
				right = false; 
			}
         
             
            setInterval(draw,100);
             
        </script>

Как вставить данную анимацию к себе на wordpress сайт?

Достаточно просто, например, можно вставить её в виджет “Текст”.
Для этого заходим в админку wordpress, в левом меню выбираем пункт “Внешний вид”, подпункт “Виджеты”:

Находим виджет “HTML-код”:

, перетаскиваем его в нужный сайдбар (боковую колонку) и вствляем код нашей анимации (если вы используете видет “Текст”, то вствляйте код во вкладке “Текст”):

Если у вас старая версия wordpress и виджет “HTML-код” отсутствует, то находим виджет “Текст” и вставляем код в него:

На этом всё красивых вам виртуальных помощников!

Добавить комментарий