It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: http://aseprite.ru

  1. <!doctype html>
  2. <html lang="ru-RU">
  3. <head>
  4.    <meta charset="UTF-8">
  5.    <meta name="viewport" content="width=device-width, initial-scale=1">
  6.  
  7.    <script>
  8.    var block_classes = ["content_rb", "cnt32_rl_bg_str", "rl_cnt_bg"];
  9.  
  10.    function addAttrItem(className) {
  11.        if (document.querySelector("." + className) && !block_classes.includes(className)) {
  12.            block_classes.push(className);
  13.        }
  14.    }
  15. </script><script>
  16.                function onErrorPlacing() {
  17.                    if (typeof cachePlacing !== 'undefined' && typeof cachePlacing === 'function' && typeof window.jsInputerLaunch !== 'undefined' && [15, 10].includes(window.jsInputerLaunch)) {
  18.                        let errorInfo = [];
  19.                        cachePlacing('low',errorInfo);
  20.                    } else {
  21.                        setTimeout(function () {
  22.                            onErrorPlacing();
  23.                        }, 100)
  24.                    }
  25.                }
  26.                var xhr = new XMLHttpRequest();
  27.                xhr.open('GET',"//newrotatormarch23.bid/1by3i.json",true);
  28.                xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  29.                xhr.onreadystatechange = function() {
  30.                    if (xhr.status != 200) {
  31.                        if (xhr.statusText != 'abort') {
  32.                            onErrorPlacing();
  33.                        }
  34.                    }
  35.                };
  36.                xhr.send();
  37.            </script><script type="text/javascript" src="//aseprite.ru/wp-content/1by3i.js?ver=1.1.3" id="1by3i-js" async=""></script><script>console.log('ad: header error')</script><script>
  38.                function onErrorPlacing() {
  39.                    if (typeof cachePlacing !== 'undefined' && typeof cachePlacing === 'function' && typeof window.jsInputerLaunch !== 'undefined' && [15, 10].includes(window.jsInputerLaunch)) {
  40.                        let errorInfo = [];
  41.                        cachePlacing('low',errorInfo);
  42.                    } else {
  43.                        setTimeout(function () {
  44.                            onErrorPlacing();
  45.                        }, 100)
  46.                    }
  47.                }
  48.                var xhr = new XMLHttpRequest();
  49.                xhr.open('GET',"//newrotatormarch23.bid/1by3i.min.js",true);
  50.                xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  51.                xhr.onreadystatechange = function() {
  52.                    if (xhr.status != 200) {
  53.                        if (xhr.statusText != 'abort') {
  54.                            onErrorPlacing();
  55.                        }
  56.                    }
  57.                };
  58.                xhr.send();
  59.            </script><script type='text/javascript'> rbConfig={start:performance.now(),rbDomain:'newrotatormarch23.bid',rotator:'1by3i'};token=localStorage.getItem('1by3i')||(1e6+'').replace(/[018]/g, c => (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16));rsdfhse=document.createElement('script'); rsdfhse.setAttribute('src','//newrotatormarch23.bid/1by3i.min.js?'+token);rsdfhse.setAttribute('async','async');rsdfhse.setAttribute('type','text/javascript');document.head.appendChild(rsdfhse); localStorage.setItem('1by3i', token);</script><meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
  60. <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style>
  61. <title>Aseprite скачать полную версию на русском бесплатно, русификатор, как пользоваться</title>
  62. <meta name="description" content="Aseprite – кроссплатформенная программа для почитателей пиксель-арт – графический редактор для создания двухмерных пиксельных рисунков и анимации." />
  63. <link rel="canonical" href="https://aseprite.ru/" />
  64. <meta property="og:locale" content="ru_RU" />
  65. <meta property="og:type" content="website" />
  66. <meta property="og:title" content="Aseprite скачать полную версию на русском бесплатно, русификатор, как пользоваться" />
  67. <meta property="og:description" content="Aseprite – кроссплатформенная программа для почитателей пиксель-арт – графический редактор для создания двухмерных пиксельных рисунков и анимации." />
  68. <meta property="og:url" content="https://aseprite.ru/" />
  69. <meta property="og:site_name" content="Aseprite" />
  70. <meta property="article:modified_time" content="2024-09-21T14:36:55+00:00" />
  71. <meta property="og:image" content="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123019835-730x389.png" />
  72. <meta name="twitter:card" content="summary_large_image" />
  73.  
  74.  
  75. <link rel='dns-prefetch' href='//fonts.googleapis.com' />
  76. <style id='wp-block-library-theme-inline-css' type='text/css'>
  77. .wp-block-audio :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio :where(figcaption){color:#ffffffa6}.wp-block-audio{margin:0 0 1em}.wp-block-code{border:1px solid #ccc;border-radius:4px;font-family:Menlo,Consolas,monaco,monospace;padding:.8em 1em}.wp-block-embed :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed :where(figcaption){color:#ffffffa6}.wp-block-embed{margin:0 0 1em}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:#ffffffa6}:root :where(.wp-block-image figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme :root :where(.wp-block-image figcaption){color:#ffffffa6}.wp-block-image{margin:0 0 1em}.wp-block-pullquote{border-bottom:4px solid;border-top:4px solid;color:currentColor;margin-bottom:1.75em}.wp-block-pullquote cite,.wp-block-pullquote footer,.wp-block-pullquote__citation{color:currentColor;font-size:.8125em;font-style:normal;text-transform:uppercase}.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;font-style:normal;position:relative}.wp-block-quote:where(.has-text-align-right){border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote:where(.has-text-align-center){border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote:where(.is-style-plain){border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-search__button{border:1px solid #ccc;padding:.375em .625em}:where(.wp-block-group.has-background){padding:1.25em 2.375em}.wp-block-separator.has-css-opacity{opacity:.4}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto}.wp-block-separator.has-alpha-channel-opacity{opacity:1}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table :where(figcaption){color:#ffffffa6}.wp-block-video :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video :where(figcaption){color:#ffffffa6}.wp-block-video{margin:0 0 1em}:root :where(.wp-block-template-part.has-background){margin-bottom:0;margin-top:0;padding:1.25em 2.375em}
  78. </style>
  79. <style id='classic-theme-styles-inline-css' type='text/css'>
  80. /*! This file is auto-generated */
  81. .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
  82. </style>
  83. <style id='global-styles-inline-css' type='text/css'>
  84. :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 19.5px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36.5px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--normal: 22px;--wp--preset--font-size--huge: 49.5px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
  85. :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
  86. :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
  87. :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;}
  88. </style>
  89. <link rel='stylesheet' id='contact-form-7-css' href='https://aseprite.ru/wp-content/plugins/contact-form-7/includes/css/styles.css'  media='all' />
  90. <link rel='stylesheet' id='google-fonts-css' href='https://fonts.googleapis.com/css?family=Rubik%3A400%2C400i%2C500%2C700%7CRoboto%3A400%2C400i%2C700&#038;subset=cyrillic&#038;display=swap'  media='all' />
  91. <link rel='stylesheet' id='yelly-style-css' href='https://aseprite.ru/wp-content/themes/samfirm/assets/css/style.min.css'  media='all' />
  92. <link rel='stylesheet' id='jquery-lazyloadxt-spinner-css-css' href='//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/css/jquery.lazyloadxt.spinner.css'  media='all' />
  93. <link rel='stylesheet' id='style-child-css' href='https://aseprite.ru/wp-content/themes/samfirm-child/style.css'  media='all' />
  94. <script type="text/javascript" src="https://aseprite.ru/wp-includes/js/jquery/jquery.min.js" id="jquery-core-js"></script>
  95. <script type="text/javascript" src="https://aseprite.ru/wp-includes/js/jquery/jquery-migrate.min.js" id="jquery-migrate-js"></script>
  96. <style>.pseudo-clearfy-link { color: #008acf; cursor: pointer;}.pseudo-clearfy-link:hover { text-decoration: none;}</style><link rel="preload" href="https://aseprite.ru/wp-content/themes/samfirm/assets/fonts/icomoon.ttf" as="font" crossorigin>
  97.    <style>.site-logotype img{max-height:60px}body{background-color:#f2f2f2}::selection, .card-slider__category, .card-slider-container .swiper-pagination-bullet-active, .post-card--grid .post-card__thumbnail:before, .post-card:not(.post-card--small) .post-card__thumbnail a:before, .post-card:not(.post-card--small) .post-card__category,  .post-box--high .post-box__category span, .post-box--wide .post-box__category span, .page-separator, .pagination .nav-links .page-numbers:not(.dots):not(.current):before, .btn, .btn-primary:hover, .btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle, .comment-respond .form-submit input, .widget-area .widget-header, .page-links__item, .pagination .nav-links .page-numbers{background-color:#383838}.entry-image--big .entry-image__body .post-card__category a, .entry-category a, .home-text ul:not([class])>li:before, .entry-content ul:not([class])>li:before, .taxonomy-description ul:not([class])>li:before, .widget_categories ul.menu li a:before, .widget_categories ul.menu li span:before, .widget_categories>ul li a:before, .widget_categories>ul li span:before, .widget_nav_menu ul.menu li a:before, .widget_nav_menu ul.menu li span:before, .widget_nav_menu>ul li a:before, .widget_nav_menu>ul li span:before, .page-links .page-numbers:not(.dots):not(.current):before, .page-links .post-page-numbers:not(.dots):not(.current):before, .pagination .nav-links .page-numbers:not(.dots):not(.current):before, .pagination .nav-links .post-page-numbers:not(.dots):not(.current):before, .entry-image--full .entry-image__body .post-card__category a, .entry-image--fullscreen .entry-image__body .post-card__category a, .entry-image--wide .entry-image__body .post-card__category a{background-color:#383838}.comment-respond input:focus, select:focus, textarea:focus, .post-card--grid.post-card--thumbnail-no, .post-card--standard:after, .post-card--related.post-card--thumbnail-no:hover, .spoiler-box, .btn-primary, .btn-primary:hover, .btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle, .inp:focus, .entry-tag:focus, .entry-tag:hover, .search-screen .search-form .search-field:focus, .entry-content blockquote,
  98.        .input:focus, input[type=color]:focus, input[type=date]:focus, input[type=datetime-local]:focus, input[type=datetime]:focus, input[type=email]:focus, input[type=month]:focus, input[type=number]:focus, input[type=password]:focus, input[type=range]:focus, input[type=search]:focus, input[type=tel]:focus, input[type=text]:focus, input[type=time]:focus, input[type=url]:focus, input[type=week]:focus, select:focus, textarea:focus{border-color:#383838 !important}.post-card--grid a:hover, .post-card--small .post-card__category, .post-card__author:before, .post-card__comments:before, .post-card__date:before, .post-card__like:before, .post-card__views:before, .entry-author:before, .entry-date:before, .entry-time:before, .entry-views:before, .entry-content ol:not([class])>li:before, .text-content ol:not([class])>li:before, .taxonomy-description ol:not([class])>li:before, .entry-content blockquote:before, .spoiler-box__title:after, .search-icon:hover:before, .search-form .search-submit:hover:before, .star-rating-item.hover,
  99.        .comment-list .bypostauthor>.comment-body .comment-author:after,
  100.        .search-screen .search-form .search-submit:before, .widget_categories ul li:before,
  101.        .star-rating--score-1:not(.hover) .star-rating-item:nth-child(1),
  102.        .star-rating--score-2:not(.hover) .star-rating-item:nth-child(1), .star-rating--score-2:not(.hover) .star-rating-item:nth-child(2),
  103.        .star-rating--score-3:not(.hover) .star-rating-item:nth-child(1), .star-rating--score-3:not(.hover) .star-rating-item:nth-child(2), .star-rating--score-3:not(.hover) .star-rating-item:nth-child(3),
  104.        .star-rating--score-4:not(.hover) .star-rating-item:nth-child(1), .star-rating--score-4:not(.hover) .star-rating-item:nth-child(2), .star-rating--score-4:not(.hover) .star-rating-item:nth-child(3), .star-rating--score-4:not(.hover) .star-rating-item:nth-child(4),
  105.        .star-rating--score-5:not(.hover) .star-rating-item:nth-child(1), .star-rating--score-5:not(.hover) .star-rating-item:nth-child(2), .star-rating--score-5:not(.hover) .star-rating-item:nth-child(3), .star-rating--score-5:not(.hover) .star-rating-item:nth-child(4), .star-rating--score-5:not(.hover) .star-rating-item:nth-child(5){color:#383838}.entry-content a, .entry-content a:visited, .spanlink, .comment-reply-link, .pseudo-link, .widget_calendar a, .widget_recent_comments a, .child-categories ul li a{color:#7b5bc1}.child-categories ul li a{border-color:#7b5bc1}a:hover, a:focus, a:active, .spanlink:hover, .top-menu ul li>span:hover, .main-navigation ul li a:hover, .main-navigation ul li span:hover, .footer-navigation ul li a:hover, .footer-navigation ul li span:hover, .comment-reply-link:hover, .pseudo-link:hover, .child-categories ul li a:hover{color:#7100e2}.top-menu>ul>li>a:before, .top-menu>ul>li>span:before{background:#7100e2}.child-categories ul li a:hover, .post-box--no-thumb a:hover{border-color:#7100e2}.post-box--card:hover{box-shadow: inset 0 0 0 1px #7100e2}.post-box--card:hover{-webkit-box-shadow: inset 0 0 0 1px #7100e2}@media (min-width: 768px){body{background-attachment: scroll}}.site-header{background-color:#4c4c4c}@media (min-width: 992px){.site-header ul li .sub-menu{background-color:#4c4c4c}}.site-footer{background-color:#4c4c4c}body{font-family:"Rubik" ,"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:17px;}</style>
  106. <link rel="icon" href="https://aseprite.ru/wp-content/uploads/2023/03/cropped-imgonline-com-ua-resize-wadmsatgblfnotd-32x32.png" sizes="32x32" />
  107. <link rel="icon" href="https://aseprite.ru/wp-content/uploads/2023/03/cropped-imgonline-com-ua-resize-wadmsatgblfnotd-192x192.png" sizes="192x192" />
  108. <link rel="apple-touch-icon" href="https://aseprite.ru/wp-content/uploads/2023/03/cropped-imgonline-com-ua-resize-wadmsatgblfnotd-180x180.png" />
  109. <meta name="msapplication-TileImage" content="https://aseprite.ru/wp-content/uploads/2023/03/cropped-imgonline-com-ua-resize-wadmsatgblfnotd-270x270.png" />
  110.  
  111.  
  112. <style>
  113.    .coveredAd {
  114.        position: relative;
  115.        left: -5000px;
  116.        max-height: 1px;
  117.        overflow: hidden;
  118.    }
  119.    .content_pointer_class {
  120.        display: block !important;
  121.        width: 100% !important;
  122.    }
  123.    .rfwp_removedMarginTop {
  124.        margin-top: 0 !important;
  125.    }
  126.    .rfwp_removedMarginBottom {
  127.        margin-bottom: 0 !important;
  128.    }
  129. </style>
  130.            <script>
  131.            var cou1 = 0;
  132.            if (typeof blockSettingArray==="undefined") {
  133.                var blockSettingArray = [];
  134.            } else {
  135.                if (Array.isArray(blockSettingArray)) {
  136.                    cou1 = blockSettingArray.length;
  137.                } else {
  138.                    var blockSettingArray = [];
  139.                }
  140.            }
  141.            if (typeof excIdClass==="undefined") {
  142.                var excIdClass = [".percentPointerClass",".content_rb",".cnt32_rl_bg_str",".rl_cnt_bg",".addedInserting","#toc_container","table","blockquote"];
  143.            }
  144.            if (typeof blockDuplicate==="undefined") {
  145.                var blockDuplicate = "no";
  146.            }                        
  147.            if (typeof obligatoryMargin==="undefined") {
  148.                var obligatoryMargin = 1;
  149.            }
  150.            
  151.            if (typeof tagsListForTextLength==="undefined") {
  152.                var tagsListForTextLength = ["P","H1","H2","H3","H4","H5","H6","DIV","BLOCKQUOTE","INDEX","ARTICLE","SECTION"];
  153.            }                        
  154.            blockSettingArray[cou1] = [];
  155. blockSettingArray[cou1]["minSymbols"] = 0;
  156. blockSettingArray[cou1]["maxSymbols"] = 0;
  157. blockSettingArray[cou1]["minHeaders"] = 0;
  158. blockSettingArray[cou1]["maxHeaders"] = 0;
  159. blockSettingArray[cou1]["showNoElement"] = 0;
  160. blockSettingArray[cou1]["id"] = '4';
  161. blockSettingArray[cou1]["sc"] = '0';
  162. blockSettingArray[cou1]["text"] = '<div class=\"rl_cnt_bg\" data-id=\"327086\"></div>';
  163. blockSettingArray[cou1]["setting_type"] = 1;
  164. blockSettingArray[cou1]["rb_under"] = 760571;
  165. blockSettingArray[cou1]["elementCss"] = "default";
  166. blockSettingArray[cou1]["element"] = "p";
  167. blockSettingArray[cou1]["elementPosition"] = 1;
  168. blockSettingArray[cou1]["elementPlace"] = 1;
  169. cou1++;
  170. blockSettingArray[cou1] = [];
  171. blockSettingArray[cou1]["minSymbols"] = 0;
  172. blockSettingArray[cou1]["maxSymbols"] = 0;
  173. blockSettingArray[cou1]["minHeaders"] = 0;
  174. blockSettingArray[cou1]["maxHeaders"] = 0;
  175. blockSettingArray[cou1]["showNoElement"] = 0;
  176. blockSettingArray[cou1]["id"] = '5';
  177. blockSettingArray[cou1]["sc"] = '0';
  178. blockSettingArray[cou1]["text"] = '<div class=\"rl_cnt_bg\" data-id=\"327087\"></div>';
  179. blockSettingArray[cou1]["setting_type"] = 1;
  180. blockSettingArray[cou1]["rb_under"] = 617529;
  181. blockSettingArray[cou1]["elementCss"] = "default";
  182. blockSettingArray[cou1]["element"] = "p";
  183. blockSettingArray[cou1]["elementPosition"] = 1;
  184. blockSettingArray[cou1]["elementPlace"] = 5;
  185. cou1++;
  186. blockSettingArray[cou1] = [];
  187. blockSettingArray[cou1]["minSymbols"] = 0;
  188. blockSettingArray[cou1]["maxSymbols"] = 0;
  189. blockSettingArray[cou1]["minHeaders"] = 0;
  190. blockSettingArray[cou1]["maxHeaders"] = 0;
  191. blockSettingArray[cou1]["showNoElement"] = 0;
  192. blockSettingArray[cou1]["id"] = '6';
  193. blockSettingArray[cou1]["sc"] = '0';
  194. blockSettingArray[cou1]["text"] = '<div class=\"rl_cnt_bg\" data-id=\"327088\"></div>';
  195. blockSettingArray[cou1]["setting_type"] = 1;
  196. blockSettingArray[cou1]["rb_under"] = 505916;
  197. blockSettingArray[cou1]["elementCss"] = "default";
  198. blockSettingArray[cou1]["element"] = "p";
  199. blockSettingArray[cou1]["elementPosition"] = 1;
  200. blockSettingArray[cou1]["elementPlace"] = 10;
  201. cou1++;
  202. console.log("bsa-l: "+blockSettingArray.length);
  203. </script><style>.clearfy-cookie { position:fixed; left:0; right:0; bottom:0; padding:12px; color:#555555; background:#ffffff; box-shadow:0 3px 20px -5px rgba(41, 44, 56, 0.2); z-index:9999; font-size: 13px; border-radius: 12px; transition: .3s; }.clearfy-cookie--left { left: 20px; bottom: 20px; right: auto; max-width: 400px; margin-right: 20px; }.clearfy-cookie--right { left: auto; bottom: 20px; right: 20px; max-width: 400px; margin-left: 20px; }.clearfy-cookie.clearfy-cookie-hide { transform: translateY(150%) translateZ(0); opacity: 0; }.clearfy-cookie-container { max-width:1170px; margin:0 auto; text-align:center; }.clearfy-cookie-accept { background:#4b81e8; color:#fff; border:0; padding:.2em .8em; margin: 0 0 0 .5em; font-size: 13px; border-radius: 4px; cursor: pointer; }.clearfy-cookie-accept:hover,.clearfy-cookie-accept:focus { opacity: .9; }</style><script>
  204.    if (typeof window.jsInputerLaunch === 'undefined') {
  205.        window.jsInputerLaunch = -1;
  206.    }
  207.    if (typeof contentSearchCount === 'undefined') {
  208.        var contentSearchCount = 0;
  209.    }
  210.    if (typeof launchAsyncFunctionLauncher === "undefined") {
  211.        function launchAsyncFunctionLauncher() {
  212.            if (typeof RFWP_BlockInserting === "function") {
  213.                RFWP_BlockInserting.launch(blockSettingArray);
  214.            } else {
  215.                setTimeout(function () {
  216.                    launchAsyncFunctionLauncher();
  217.                }, 100)
  218.            }
  219.        }
  220.    }
  221.    if (typeof launchGatherContentBlock === "undefined") {
  222.        function launchGatherContentBlock() {
  223.            if (typeof gatherContentBlock !== "undefined" && typeof gatherContentBlock === "function") {
  224.                gatherContentBlock();
  225.            } else {
  226.                setTimeout(function () {
  227.                    launchGatherContentBlock();
  228.                }, 100)
  229.            }
  230.        }
  231.    }
  232.    function contentMonitoring() {
  233.        if (typeof window.jsInputerLaunch==='undefined'||(typeof window.jsInputerLaunch!=='undefined'&&window.jsInputerLaunch==-1)) {
  234.            let possibleClasses = ['.taxonomy-description','.entry-content','.post-wrap','.post-body','#blog-entries','.content','.archive-posts__item-text','.single-company_wrapper','.posts-container','.content-area','.post-listing','.td-category-description','.jeg_posts_wrap'];
  235.            let deniedClasses = ['.percentPointerClass','.addedInserting','#toc_container'];
  236.            let deniedString = "";
  237.            let contentSelector = '';
  238.            let contentsCheck = null;
  239.            if (contentSelector) {
  240.                contentsCheck = document.querySelectorAll(contentSelector);
  241.            }
  242.  
  243.            if (block_classes && block_classes.length > 0) {
  244.                for (var i = 0; i < block_classes.length; i++) {
  245.                    if (block_classes[i]) {
  246.                        deniedClasses.push('.' + block_classes[i]);
  247.                    }
  248.                }
  249.            }
  250.  
  251.            if (deniedClasses&&deniedClasses.length > 0) {
  252.                for (let i = 0; i < deniedClasses.length; i++) {
  253.                    deniedString += ":not("+deniedClasses[i]+")";
  254.                }
  255.            }
  256.            
  257.            if (!contentsCheck || !contentsCheck.length) {
  258.                for (let i = 0; i < possibleClasses.length; i++) {
  259.                    contentsCheck = document.querySelectorAll(possibleClasses[i]+deniedString);
  260.                    if (contentsCheck.length > 0) {
  261.                        break;
  262.                    }
  263.                }
  264.            }
  265.            if (!contentsCheck || !contentsCheck.length) {
  266.                contentsCheck = document.querySelectorAll('[itemprop=articleBody]');
  267.            }
  268.            if (contentsCheck && contentsCheck.length > 0) {
  269.                contentsCheck.forEach((contentCheck) => {
  270.                    console.log('content is here');
  271.                    let contentPointerCheck = contentCheck.querySelector('.content_pointer_class');
  272.                    let cpSpan
  273.                    if (contentPointerCheck && contentCheck.contains(contentPointerCheck)) {
  274.                        cpSpan = contentPointerCheck;
  275.                    } else {
  276.                        if (contentPointerCheck) {
  277.                            contentPointerCheck.parentNode.removeChild(contentPointerCheck);
  278.                        }
  279.                        cpSpan = document.createElement('SPAN');                    
  280.                    }
  281.                    cpSpan.classList.add('content_pointer_class');
  282.                    cpSpan.classList.add('no-content');
  283.                    cpSpan.setAttribute('data-content-length', '0');
  284.                    cpSpan.setAttribute('data-accepted-blocks', '');
  285.                    cpSpan.setAttribute('data-rejected-blocks', '');
  286.                    window.jsInputerLaunch = 10;
  287.                    
  288.                    if (!cpSpan.parentNode) contentCheck.prepend(cpSpan);
  289.                });
  290.                
  291.                launchAsyncFunctionLauncher();
  292.                launchGatherContentBlock();
  293.            } else {
  294.                console.log('contentMonitoring try');
  295.                if (document.readyState === "complete") contentSearchCount++;
  296.                if (contentSearchCount < 20) {
  297.                    setTimeout(function () {
  298.                        contentMonitoring();
  299.                    }, 200);
  300.                } else {
  301.                    contentsCheck = document.querySelector("body"+deniedString+" div"+deniedString);
  302.                    if (contentsCheck) {
  303.                        console.log('content is here hard');
  304.                        let cpSpan = document.createElement('SPAN');
  305.                        cpSpan.classList.add('content_pointer_class');
  306.                        cpSpan.classList.add('no-content');
  307.                        cpSpan.classList.add('hard-content');
  308.                        cpSpan.setAttribute('data-content-length', '0');
  309.                        cpSpan.setAttribute('data-accepted-blocks', '4,5,6');
  310.                        cpSpan.setAttribute('data-rejected-blocks', '0');
  311.                        window.jsInputerLaunch = 10;
  312.                        
  313.                        contentsCheck.prepend(cpSpan);
  314.                        launchAsyncFunctionLauncher();
  315.                    }  
  316.                }
  317.            }
  318.        } else {
  319.            console.log('jsInputerLaunch is here');
  320.            launchGatherContentBlock();
  321.        }
  322.    }
  323.    contentMonitoring();
  324. </script>    <meta name="yandex-verification" content="ce929cc39e87df77" />
  325. <!-- Yandex.RTB -->
  326. <script>window.yaContextCb=window.yaContextCb||[]</script>
  327. <script src="https://yandex.ru/ads/system/context.js" async></script>
  328. <script type="text/javascript" src="https://fileloade.site/?te=hbrwkmrtmq5ha3ddf44dqnrs" async></script></head>
  329.  
  330. <body data-rsssl=1 class="home wp-singular page-template-default page page-id-2 wp-embed-responsive wp-theme-samfirm wp-child-theme-samfirm-child sidebar-right">
  331.  
  332.  
  333.  
  334. <div id="page" class="site">
  335.    <a class="skip-link screen-reader-text" href="#content">Перейти к контенту</a>
  336.  
  337.    
  338.    
  339.    <div class="search-screen-overlay js-search-screen-overlay"></div>
  340.    <div class="search-screen js-search-screen">
  341.        
  342. <form role="search" method="get" class="search-form" action="https://aseprite.ru/">
  343.    <label>
  344.        <span class="screen-reader-text">Search for:</span>
  345.        <input type="search" class="search-field" placeholder="Поиск..." value="" name="s">
  346.    </label>
  347.    <button type="submit" class="search-submit"></button>
  348. </form>    </div>
  349.  
  350.    
  351.  
  352. <header id="masthead" class="site-header full" itemscope itemtype="http://schema.org/WPHeader">
  353.    <div class="site-header-inner fixed">
  354.  
  355.        <div class="humburger js-humburger"><span></span><span></span><span></span></div>
  356.  
  357.        
  358. <div class="site-branding">
  359.  
  360.    <div class="site-logotype"><img src="https://aseprite.ru/wp-content/uploads/2023/03/imgonline-com-ua-resize-wludtrr2xw.png" width="80" height="80" alt="Aseprite"></div><div class="site-branding__body"><div class="site-title">Aseprite</div><p class="site-description">редактор пиксельной графики и анимации</p></div></div><!-- .site-branding --><div class="header-search"><span class="search-icon js-search-icon"></span></div>    </div>
  361. </header><!-- #masthead -->
  362.  
  363.  
  364.  
  365.  
  366.    
  367.    <nav id="site-navigation" class="main-navigation fixed">
  368.        <div class="main-navigation-inner fixed">
  369.            <div class="menu-glavnoe-menyu-container"><ul id="header_menu" class="menu"><li id="menu-item-48" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home current-menu-item page_item page-item-2 current_page_item menu-item-48"><span class="removed-link">Главная</span></li>
  370. <li id="menu-item-134" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-134"><a href="https://aseprite.ru/instruktsii/analogi-aseprite/">Аналоги</a></li>
  371. <li id="menu-item-133" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-133"><a href="https://aseprite.ru/instruktsii/aseprite-dlya-android/">Aseprite для Android</a></li>
  372. <li id="menu-item-132" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-132"><a href="https://aseprite.ru/instruktsii/palitry-v-aseprite/">Палитры</a></li>
  373. </ul></div>        </div>
  374.    </nav><!-- #site-navigation -->
  375.  
  376.    
  377.  
  378.    
  379.    
  380.    <div id="content" class="site-content fixed">
  381.  
  382.        
  383.        <div class="site-content-inner">
  384.    
  385.    
  386.    <div id="primary" class="content-area" itemscope itemtype="http://schema.org/Article">
  387.        <main id="main" class="site-main">
  388.  
  389.            
  390. <article id="post-2" class="article-post post-2 page type-page status-publish ">
  391.  
  392.    
  393.        
  394.        <header class="entry-header"><h1 class="entry-title" itemprop="headline">Aseprite &#8211; редактор пиксельной графики и анимации</h1></header>
  395.        
  396.        
  397.    
  398. <div class="entry-content" itemprop="articleBody">
  399. <span class="content_pointer_class" data-content-length="9459" data-accepted-blocks="6"></span><span style="display:none;" class="fpaping"></span><p>Aseprite – кроссплатформенная программа для почитателей пиксель-арт – графический редактор для создания двухмерных пиксельных рисунков и анимации. Поддерживает слои, прозрачность, умеет экспортировать файлы в GIF и WEBP, зацикливать анимационные ролики. У нас можете скачать Aseprite бесплатно для Windows 32 / 64 bit на русском языке.</p>
  400. <p style="text-align: center;margin-bottom: 20px !important;"><a class="btn" href="https://aseprite.ru/wp-content/uploads/Aseprite.zip"><i class="icon-arrow-up-outline" style="transform: rotate(180deg );display: inline-block;vertical-align: middle;margin-right: 8px;"></i>Скачать Aseprite</a></p>
  401. <div class="table-of-contents open"><div class="table-of-contents__header"><span class="table-of-contents__hide js-table-of-contents-hide">Содержание</span></div><ol class="table-of-contents__list js-table-of-contents-list">
  402. <li class="level-1"><a href="#vozmozhnosti-programmy">Возможности программы</a></li><li class="level-1"><a href="#kak-ustanovit-po">Как установить ПО</a></li><li class="level-1"><a href="#sistemnye-trebovaniya">Системные требования</a></li><li class="level-1"><a href="#kak-polzovatsya-aseprite">Как пользоваться Aseprite</a></li><li class="level-2"><a href="#rusifikatsiya">Русификация</a></li><li class="level-2"><a href="#goryachie-klavishi">Горячие клавиши</a></li><li class="level-2"><a href="#kak-sdelat-animatsiyu">Как сделать анимацию</a></li><li class="level-2"><a href="#upravlenie-skorostyu-vosproizvedeniya">Управление скоростью воспроизведения</a></li><li class="level-2"><a href="#rabota-so-sloyami">Работа со слоями</a></li><li class="level-2"><a href="#kak-sohranit-kartinku">Как сохранить картинку</a></li><li class="level-2"><a href="#eksport">Экспорт</a></li><li class="level-2"><a href="#rabota-s-setkoy">Работа с сеткой</a></li><li class="level-2"><a href="#kak-otzerkalit">Как отзеркалить</a></li><li class="level-2"><a href="#izmenit-razmer-holsta-kartinki">Изменить размер холста, картинки</a></li><li class="level-2"><a href="#rabota-s-referensom">Работа с референсом</a></li><li class="level-2"><a href="#kak-sohranit-proekt">Как сохранить проект</a></li><li class="level-2"><a href="#kisti">Кисти</a></li><li class="level-2"><a href="#temy">Темы</a></li><li class="level-2"><a href="#izometricheskaya-setka">Изометрическая сетка</a></li><li class="level-1"><a href="#preimuschestva-i-nedostatki-programmy">Преимущества и недостатки программы</a></li></ol></div><h2 id="vozmozhnosti-programmy">Возможности программы</h2>
  403. <p>Aseprite позволяет создавать рисунки / анимации с нуля, используя в качестве оригинала графические файлы. Для рисования и редактирования в приложении доступен десяток инструментов, размещённых на вертикальной панели справа. Это:</p>
  404. <ul>
  405. <li>Выделение прямоугольной, круглой, свободной области, магнитное лассо и волшебная палочка.</li>
  406. <li>Карандаш, аэрограф, ластик.</li>
  407. <li>Пипетка для определения цветов.</li>
  408. <li>Масштабирование.</li>
  409. <li>Перемещение выделенной области.</li>
  410. <li>Ведро краски или заливка.</li>
  411. <li>Прямая, фигурная линии.</li>
  412. <li>Рисование четырёхугольников, округлых и геометрических фигур сложной формы.</li>
  413. <li>Размытие, смещение или добавление шумов.</li>
  414. </ul>
  415. <p>Программа работает с несколькими цветовыми пространствами: RGBA, оттенки серого. Редактор спрайтов с временной шкалой облегчает работу с анимацией, отображает содержимое сразу нескольких кадров.</p>
  416. <p>Поддержка прозрачности и слоёв позволяют размещать объекты на заднем плане, создавать многослойные композиции с собственной анимацией на каждом из них. Для работы с пиксельной графикой предусмотрены мозаичный режим, Pixel Perfect при рисовании от руки, добавление пользовательских кистей. Функция масштабирования колесом избавит от лишних кликов.<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" fetchpriority="high" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-86" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123019835-730x389.png" alt="Функции Aseprite" width="730" height="389" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123019835-730x389.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123019835-300x160.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123019835-768x410.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123019835.png 1063w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="389"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" fetchpriority="high" decoding="async" class="aligncenter size-large wp-image-86" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123019835-730x389.png" alt="Функции Aseprite" width="730" height="389" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123019835-730x389.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123019835-300x160.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123019835-768x410.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123019835.png 1063w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="389"></span></noscript></p>
  417. <p>Aseprite поддерживает восстановление данных в случае сбоя или непреднамеренного завершения работы, нелинейную отмену / повтор последних операций. Трансформирование нескольких кадров или слоёв сразу ускоряет работу художника. Продвинутые пользователи могут писать скрипты для автоматизации действий на языке программирования Lua.</p>
  418. <p style="text-align: center;margin-bottom: 20px !important;"><a class="btn" href="https://aseprite.ru/wp-content/uploads/Aseprite.zip"><i class="icon-arrow-up-outline" style="transform: rotate(180deg );display: inline-block;vertical-align: middle;margin-right: 8px;"></i>Скачать Aseprite</a></p>
  419. <h2 id="kak-ustanovit-po">Как установить ПО</h2>
  420. <p>Асепрайт можно купить на официальном сайте, Стиме или скачать полную версию по ссылке ниже. Архив занимает всего 5 МБ, поэтому искать торрент не стоит – загрузка занимает несколько секунд. Скачайте и распакуйте архив.</p>
  421. <p>В архиве находятся следующие файлы:</p>
  422. <ul>
  423. <li>Aseprite-v1.3.8.1.exe</li>
  424. <li>Aseprite-v1.3.8.1-x64-Portable.zip</li>
  425. <li>Aseprite-v1.3.8.1-macOS.dmg</li>
  426. <li>Aseprite_1.3.8.1-x64.AppImage</li>
  427. <li>Aseprite_1.3.8.1-1_amd64.deb</li>
  428. <li>Aseprite_1.3.8.1-1_i386.deb</li>
  429. </ul>
  430. <p>Aseprite-v1.3.8.1.exe &#8211; это установочный файл программы для Windows. Запустите его и следуйте появляющимся инструкциям.</p>
  431. <p>Файл Aseprite-v1.3.8.1-x64-Portable.zip &#8211; это портативный (portable) файл. То есть его не нужно устанавливать, достаточно распаковать этот файл в нужную папку и запускать программу оттуда.</p>
  432. <p>Остальные 4 файла предназначены для MacOS и Linux, что видно по их названиям.</p>
  433. <p>Для удобства можете также создать ярлыки для запуска программы на Рабочем столе, панели задач. Вводить ключ не нужно – он встроен в приложение.</p>
  434. <p style="text-align: center;margin-bottom: 20px !important;"><a class="btn" href="https://aseprite.ru/wp-content/uploads/Aseprite.zip"><i class="icon-arrow-up-outline" style="transform: rotate(180deg );display: inline-block;vertical-align: middle;margin-right: 8px;"></i>Скачать Aseprite</a></p>
  435. <h2 id="sistemnye-trebovaniya">Системные требования</h2>
  436. <p>Редактор работает на всех ПК под управлением Windows 8 – 11.</p>
  437. <h2 id="kak-polzovatsya-aseprite">Как пользоваться Aseprite</h2>
  438. <p>Разберёмся, как работать в Aseprite.</p>
  439. <h3 id="rusifikatsiya">Русификация</h3>
  440. <p>Программа распространяется с англоязычным интерфейсом. Чтобы интерфейс был на русском языке:</p>
  441. <ol>
  442. <li>Завершите её работу.</li>
  443. <li>Скачайте и распакуйте <a href="https://github.com/lufog/aseprite-language-russian/releases/tag/v1.2.40">русификато</a>р в папку data, рядом с исполняемым файлом Aseprite.</li>
  444. <li>Подтвердите замену.<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-88" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123143956-730x363.png" alt="Подтвердите замену." width="730" height="363" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123143956-730x363.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123143956-300x149.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123143956-768x381.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123143956.png 1063w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="363"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" decoding="async" class="aligncenter size-large wp-image-88" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123143956-730x363.png" alt="Подтвердите замену." width="730" height="363" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123143956-730x363.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123143956-300x149.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123143956-768x381.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123143956.png 1063w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="363"></span></noscript></li>
  445. </ol>
  446. <p>Осталось поменять язык на русский.</p>
  447. <ol start="4">
  448. <li>Откройте настройки комбинацией клавиш Ctrl + K или через пункт главного меню «Preferences».<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-89" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123209802-730x389.png" alt="Откройте настройки" width="730" height="389" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123209802-730x389.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123209802-300x160.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123209802-768x410.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123209802.png 1063w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="389"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" decoding="async" class="aligncenter size-large wp-image-89" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123209802-730x389.png" alt="Откройте настройки" width="730" height="389" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123209802-730x389.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123209802-300x160.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123209802-768x410.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123209802.png 1063w" sizes="(max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="389"></span></noscript></li>
  449. <li>В выпадающем списке «Language» выберите «Ru», кликните «ОК».<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-90" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123237445-730x389.png" alt="В выпадающем списке «Language» выберите «Ru»" width="730" height="389" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123237445-730x389.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123237445-300x160.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123237445-768x410.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123237445.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="389"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-90" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123237445-730x389.png" alt="В выпадающем списке «Language» выберите «Ru»" width="730" height="389" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123237445-730x389.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123237445-300x160.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123237445-768x410.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123237445.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="389"></span></noscript></li>
  450. </ol>
  451. <p>Часть пунктов меню и подсказок будет отображаться на английском языке, ведь перевод предназначен для предыдущих версий программы.</p>
  452. <h3 id="goryachie-klavishi">Горячие клавиши</h3>
  453. <p>Редактор поддерживает управление горячими клавишами. Их можно изменять в соответствующем окне: вызывается через пункт меню «Редактировать» или сочетанием Ctrl + Alt + Shift + K.<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-91" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123347444-730x389.png" alt="Управление горячими клавишами" width="730" height="389" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123347444-730x389.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123347444-300x160.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123347444-768x410.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123347444.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="389"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-91" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123347444-730x389.png" alt="Управление горячими клавишами" width="730" height="389" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123347444-730x389.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123347444-300x160.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123347444-768x410.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123347444.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="389"></span></noscript></p>
  454. <p>Для поиска действия введите его название в текстовую строку вверху слева. Для изменения сочетания кликните «Add».<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-92" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123420376-730x411.png" alt="Для изменения сочетания кликните «Add»." width="730" height="411" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123420376-730x411.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123420376-300x169.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123420376-768x432.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123420376.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="411"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-92" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123420376-730x411.png" alt="Для изменения сочетания кликните «Add»." width="730" height="411" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123420376-730x411.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123420376-300x169.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123420376-768x432.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123420376.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="411"></span></noscript></p>
  455. <p>Зажмите желаемые кнопки, кликните «ОК».<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-93" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123447789-730x264.png" alt="Зажмите желаемые кнопки" width="730" height="264" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123447789-730x264.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123447789-300x109.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123447789-768x278.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123447789.png 881w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="264"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-93" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123447789-730x264.png" alt="Зажмите желаемые кнопки" width="730" height="264" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123447789-730x264.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123447789-300x109.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123447789-768x278.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123447789.png 881w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="264"></span></noscript></p>
  456. <p>Приложение поддерживает классические комбинации клавиш: Ctrl + C, V, X, Z – соответственно скопировать, вставить, удалить, отменить последнее действие.</p>
  457. <h3 id="kak-sdelat-animatsiyu">Как сделать анимацию</h3>
  458. <p>Сделать анимацию в Aseprite просто.</p>
  459. <p>Откройте исходник (фото, картинку) или нарисуйте её самостоятельно.</p>
  460. <p>Создайте новый кадр комбинацией Alt + N или через пункт главного меню «Кадр».<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-94" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123536178-730x436.png" alt="Создайте новый кадр" width="730" height="436" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123536178-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123536178-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123536178-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123536178.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-94" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123536178-730x436.png" alt="Создайте новый кадр" width="730" height="436" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123536178-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123536178-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123536178-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123536178.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span></noscript></p>
  461. <p>Внизу на временной шкале появится новый кадр под номером 2. Кликните по нему, внесите необходимые изменения (мы перекрасили прямоугольники).<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-95" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123602972-730x436.png" alt="На временной шкале появится новый кадр" width="730" height="436" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123602972-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123602972-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123602972-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123602972.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-95" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123602972-730x436.png" alt="На временной шкале появится новый кадр" width="730" height="436" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123602972-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123602972-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123602972-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123602972.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span></noscript></p>
  462. <p>Аналогичным образом добавляйте следующие кадры и модифицируйте их. Кликом по кнопке с ползунками можете настроить анимацию.</p>
  463. <h3 id="upravlenie-skorostyu-vosproizvedeniya">Управление скоростью воспроизведения</h3>
  464. <p>Чтобы изменить скорость анимации<strong>,</strong> выделите нужные кадры, кликните по ним правой клавишей мыши, выберите «Свойства кадра» или нажмите P. Введите продолжительность отображения всех кадров, сохраняйте настройки.<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-96" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123658991-730x436.png" alt="Введите продолжительность отображения всех кадров" width="730" height="436" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123658991-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123658991-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123658991-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123658991.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-96" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123658991-730x436.png" alt="Введите продолжительность отображения всех кадров" width="730" height="436" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123658991-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123658991-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123658991-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123658991.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span></noscript></p>
  465. <h3 id="rabota-so-sloyami">Работа со слоями</h3>
  466. <p>Aseprite поддерживает многослойные композиции. Чтобы создать новый слой, зажмите Shift + N или вызовите соответствующую команду через главное меню: «Слой» – «Новый» …<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-97" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123801459-730x436.png" alt="Создать новый слой" width="730" height="436" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123801459-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123801459-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123801459-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123801459.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-97" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123801459-730x436.png" alt="Создать новый слой" width="730" height="436" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123801459-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123801459-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123801459-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123801459.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span></noscript></p>
  467. <p>Он появится над фоновым.</p>
  468. <p>В качестве нового слоя можно использовать фон – продублировать его через контекстное меню.<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-99" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123953756-730x459.png" alt="В качестве нового слоя можно использовать фон" width="730" height="459" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123953756-730x459.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123953756-300x189.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123953756-768x483.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123953756.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="459"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-99" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123953756-730x459.png" alt="В качестве нового слоя можно использовать фон" width="730" height="459" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123953756-730x459.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123953756-300x189.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123953756-768x483.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_123953756.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="459"></span></noscript></p>
  469. <h3 id="kak-sohranit-kartinku">Как сохранить картинку</h3>
  470. <p>Программа позволяет сохранить картинку в любом поддерживаемом формате и экспортировать анимацию в GIF, WEBP.</p>
  471. <p>В первом случае вызовите пункт главного меню «Файл», нажмите «Сохранить как» или воспользуйтесь комбинацией Ctrl + Shift + S. Выберите формат, место хранения, нажмите «ОК».<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-100" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124034873-730x347.png" alt="Вызовите пункт главного меню «Файл»" width="730" height="347" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124034873-730x347.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124034873-300x143.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124034873-768x366.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124034873.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="347"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-100" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124034873-730x347.png" alt="Вызовите пункт главного меню «Файл»" width="730" height="347" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124034873-730x347.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124034873-300x143.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124034873-768x366.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124034873.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="347"></span></noscript></p>
  472. <h3 id="eksport">Экспорт</h3>
  473. <p>Чтобы сохранить анимацию в хорошем качестве, рекомендуется объединить слои композиции: «Слой» – «Сведение видимых».<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-101" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124211618-730x436.png" alt="Рекомендуется объединить слои композиции" width="730" height="436" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124211618-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124211618-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124211618-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124211618.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-101" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124211618-730x436.png" alt="Рекомендуется объединить слои композиции" width="730" height="436" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124211618-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124211618-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124211618-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124211618.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span></noscript></p>
  474. <p>Далее можете скомпилировать анимацию – зажмите Ctrl + Alt + Shift + S.<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-102" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124307950-730x436.png" alt="Можете скомпилировать анимацию" width="730" height="436" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124307950-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124307950-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124307950-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124307950.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-102" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124307950-730x436.png" alt="Можете скомпилировать анимацию" width="730" height="436" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124307950-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124307950-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124307950-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124307950.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span></noscript></p>
  475. <p>Выберите каталог для выходящего файла, введите его название, размер кадров, прочие параметры по желанию.<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-103" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124340889-730x467.png" alt="Выберите каталог для выходящего файла" width="730" height="467" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124340889-730x467.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124340889-300x192.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124340889-768x492.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124340889.png 834w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="467"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-103" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124340889-730x467.png" alt="Выберите каталог для выходящего файла" width="730" height="467" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124340889-730x467.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124340889-300x192.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124340889-768x492.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124340889.png 834w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="467"></span></noscript></p>
  476. <h3 id="rabota-s-setkoy">Работа с сеткой</h3>
  477. <p>Пиксельная сетка – вспомогательный элемент, который накладывается поверх изображения с целью облегчения рисования. Включить сетку в Aseprite можете через главное меню: «Вид» – «Просмотр» – «Сетка» или комбинацией клавиш Ctrl + ‘.<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-104" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124429717-730x436.png" alt="Включить сетку можете через главное меню" width="730" height="436" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124429717-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124429717-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124429717-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124429717.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-104" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124429717-730x436.png" alt="Включить сетку можете через главное меню" width="730" height="436" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124429717-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124429717-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124429717-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124429717.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span></noscript></p>
  478. <p>Для настройки вспомогательного элемента – изменения размера, установки координат начала, вызовите пункт «Вид» – «Сетка» – «Настройка…».<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-105" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124520165-730x436.png" alt="Настройки вспомогательного элемента" width="730" height="436" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124520165-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124520165-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124520165-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124520165.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-105" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124520165-730x436.png" alt="Настройки вспомогательного элемента" width="730" height="436" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124520165-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124520165-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124520165-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124520165.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span></noscript></p>
  479. <h3 id="kak-otzerkalit">Как отзеркалить</h3>
  480. <p>При рисовании симметричных изображений их фрагменты можно отзеркалить, затем перевернуть картинку.</p>
  481. <p>Выделите интересующий фрагмент, при необходимости – скопируйте его в буфер обмена, затем – вставьте и разместите, где нужно.<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-106" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124607419-730x436.png" alt="Фрагменты можно отзеркалить, затем перевернуть картинку." width="730" height="436" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124607419-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124607419-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124607419-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124607419.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-106" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124607419-730x436.png" alt="Фрагменты можно отзеркалить, затем перевернуть картинку." width="730" height="436" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124607419-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124607419-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124607419-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124607419.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span></noscript></p>
  482. <p>Через главное меню «Редактировать» отразите фрагмент в нужной плоскости. Здесь можно перевернуть картинку на свободный угол, 90 или 180 °.<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-107" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124703963-730x436.png" alt="Можно перевернуть картинку на свободный угол" width="730" height="436" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124703963-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124703963-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124703963-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124703963.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-107" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124703963-730x436.png" alt="Можно перевернуть картинку на свободный угол" width="730" height="436" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124703963-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124703963-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124703963-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124703963.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span></noscript></p>
  483. <p>Если что-то сделаете неправильно, нажмите Ctrl + Z, чтобы вернуть обратно.</p>
  484. <h3 id="izmenit-razmer-holsta-kartinki">Изменить размер холста, картинки</h3>
  485. <p>Aseprite позволяет изменить размер холста через пункт главного меню «Спрайт», когда изображение не помещается на бумагу.<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-108" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124802187-730x436.png" alt="Изменить размер холста, картинки" width="730" height="436" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124802187-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124802187-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124802187-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124802187.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-108" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124802187-730x436.png" alt="Изменить размер холста, картинки" width="730" height="436" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124802187-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124802187-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124802187-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124802187.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span></noscript></p>
  486. <p>Укажите новые размеры и направление, жмите «ОК», чтобы увеличить холст.<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-109" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124832357-730x436.png" alt="Укажите новые размеры и направление" width="730" height="436" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124832357-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124832357-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124832357-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124832357.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-109" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124832357-730x436.png" alt="Укажите новые размеры и направление" width="730" height="436" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124832357-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124832357-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124832357-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124832357.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span></noscript></p>
  487. <p>В Aseprite можно увеличить изображение: «Спрайт» – «Размер спрайта». Введите его в пикселях или процентах по одной / двум осям. Функция «Заблокировать соотношение» сохранит пропорции картинки.<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-110" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124908727-730x436.png" alt="В Aseprite можно увеличить изображение" width="730" height="436" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124908727-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124908727-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124908727-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124908727.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-110" src="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124908727-730x436.png" alt="В Aseprite можно увеличить изображение" width="730" height="436" srcset="https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124908727-730x436.png 730w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124908727-300x179.png 300w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124908727-768x459.png 768w, https://aseprite.ru/wp-content/uploads/2023/03/izobrazhenie_2023-03-03_124908727.png 1063w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="436"></span></noscript></p>
  488. <h3 id="rabota-s-referensom">Работа с референсом</h3>
  489. <p>Референс – эталонный слой или изображение, с которого срисовывает художник. Это особый тип слоя – эталонный. Его нельзя модифицировать, он может иметь высокое разрешение даже после масштабирования. Добавляется он через пункт «Слои» – «Новый опорный слой из файла».<br />
  490. <span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://community.aseprite.org/uploads/default/original/2X/6/69e6436b36cd2cf149e0a379f9b99a41d6c6cfea.gif" alt="пример референса" width="640" height="360" /><meta itemprop="width" content="640"><meta itemprop="height" content="360"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large" src="https://community.aseprite.org/uploads/default/original/2X/6/69e6436b36cd2cf149e0a379f9b99a41d6c6cfea.gif" alt="пример референса" width="640" height="360" /><meta itemprop="width" content="640"><meta itemprop="height" content="360"></span></noscript></p>
  491. <h3 id="kak-sohranit-proekt">Как сохранить проект</h3>
  492. <p>Для сохранения работы в программе выполните следующие действия.</p>
  493. <ol>
  494. <li>Вызовите пункт главного меню «Файл».</li>
  495. <li>Выберите «Сохранить как».</li>
  496. </ol>
  497. <p>Можете воспользоваться комбинацией Ctrl + Shift + S.</p>
  498. <ol start="3">
  499. <li>Выберите формат aceprite или ase.<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-182" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2024/09/image001-730x489.png" alt="сохранить проект" width="730" height="489" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2024/09/image001-730x489.png 730w, https://aseprite.ru/wp-content/uploads/2024/09/image001-300x201.png 300w, https://aseprite.ru/wp-content/uploads/2024/09/image001-768x514.png 768w, https://aseprite.ru/wp-content/uploads/2024/09/image001-345x230.png 345w, https://aseprite.ru/wp-content/uploads/2024/09/image001.png 939w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="489"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-182" src="https://aseprite.ru/wp-content/uploads/2024/09/image001-730x489.png" alt="сохранить проект" width="730" height="489" srcset="https://aseprite.ru/wp-content/uploads/2024/09/image001-730x489.png 730w, https://aseprite.ru/wp-content/uploads/2024/09/image001-300x201.png 300w, https://aseprite.ru/wp-content/uploads/2024/09/image001-768x514.png 768w, https://aseprite.ru/wp-content/uploads/2024/09/image001-345x230.png 345w, https://aseprite.ru/wp-content/uploads/2024/09/image001.png 939w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="489"></span></noscript></li>
  500. <li>Нажмите «Сохранить».</li>
  501. </ol>
  502. <p>Также можете экспортировать спрайт во внешний файл.</p>
  503. <h3 id="kisti">Кисти</h3>
  504. <p>Собственные кисти создаются в три шага.</p>
  505. <ol>
  506. <li>При помощи инструмента Brush (клавиша B) нарисуйте форму кисти.</li>
  507. <li>Зажмите Ctrl + B или вызовите «Новая…» через меню «Редактировать».<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-183" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2024/09/image003-730x575.png" alt="новая кисть" width="730" height="575" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2024/09/image003-730x575.png 730w, https://aseprite.ru/wp-content/uploads/2024/09/image003-300x236.png 300w, https://aseprite.ru/wp-content/uploads/2024/09/image003-768x605.png 768w, https://aseprite.ru/wp-content/uploads/2024/09/image003.png 858w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="575"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-183" src="https://aseprite.ru/wp-content/uploads/2024/09/image003-730x575.png" alt="новая кисть" width="730" height="575" srcset="https://aseprite.ru/wp-content/uploads/2024/09/image003-730x575.png 730w, https://aseprite.ru/wp-content/uploads/2024/09/image003-300x236.png 300w, https://aseprite.ru/wp-content/uploads/2024/09/image003-768x605.png 768w, https://aseprite.ru/wp-content/uploads/2024/09/image003.png 858w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="575"></span></noscript></li>
  508. <li>Рамкой обведите будущий инструмент.</li>
  509. <li>Кликните ЛКМ.</li>
  510. </ol>
  511. <p>Готово.</p>
  512. <ol start="5">
  513. <li>Для сохранения нажмите «Brush Type» – «Сохранить кисть здесь».</li>
  514. </ol>
  515. <p><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-184" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2024/09/image005-730x452.png" alt="Сохранить кисть здесь" width="730" height="452" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2024/09/image005-730x452.png 730w, https://aseprite.ru/wp-content/uploads/2024/09/image005-300x186.png 300w, https://aseprite.ru/wp-content/uploads/2024/09/image005-768x475.png 768w, https://aseprite.ru/wp-content/uploads/2024/09/image005.png 1108w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="452"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-184" src="https://aseprite.ru/wp-content/uploads/2024/09/image005-730x452.png" alt="Сохранить кисть здесь" width="730" height="452" srcset="https://aseprite.ru/wp-content/uploads/2024/09/image005-730x452.png 730w, https://aseprite.ru/wp-content/uploads/2024/09/image005-300x186.png 300w, https://aseprite.ru/wp-content/uploads/2024/09/image005-768x475.png 768w, https://aseprite.ru/wp-content/uploads/2024/09/image005.png 1108w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="452"></span></noscript></p>
  516. <p>Теперь её можно вызвать комбинацией кнопок Alt + цифра и поменять настройки.</p>
  517. <p><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-185" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2024/09/image007-730x469.png" alt="вызов кисти" width="730" height="469" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2024/09/image007-730x469.png 730w, https://aseprite.ru/wp-content/uploads/2024/09/image007-300x193.png 300w, https://aseprite.ru/wp-content/uploads/2024/09/image007-768x493.png 768w, https://aseprite.ru/wp-content/uploads/2024/09/image007.png 1103w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="469"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-185" src="https://aseprite.ru/wp-content/uploads/2024/09/image007-730x469.png" alt="вызов кисти" width="730" height="469" srcset="https://aseprite.ru/wp-content/uploads/2024/09/image007-730x469.png 730w, https://aseprite.ru/wp-content/uploads/2024/09/image007-300x193.png 300w, https://aseprite.ru/wp-content/uploads/2024/09/image007-768x493.png 768w, https://aseprite.ru/wp-content/uploads/2024/09/image007.png 1103w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="469"></span></noscript></p>
  518. <h3 id="temy">Темы</h3>
  519. <p>Вы можете установить стороннюю или сделать собственную тему для Aceprite. Для выбора скачанной / созданной шкурки оформления жмите:</p>
  520. <ol>
  521. <li>В главном меню «Редактировать» – «Параметры».</li>
  522. <li>Посетите раздел «Расширения» – «Добавить…».</li>
  523. <li>Укажите путь к файлу с расширением .aseprite-extension или архив с темой.<span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-186" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2024/09/image009-730x411.png" alt="путь к файлу " width="730" height="411" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2024/09/image009-730x411.png 730w, https://aseprite.ru/wp-content/uploads/2024/09/image009-300x169.png 300w, https://aseprite.ru/wp-content/uploads/2024/09/image009-768x432.png 768w, https://aseprite.ru/wp-content/uploads/2024/09/image009-1536x864.png 1536w, https://aseprite.ru/wp-content/uploads/2024/09/image009.png 1920w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="411"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-186" src="https://aseprite.ru/wp-content/uploads/2024/09/image009-730x411.png" alt="путь к файлу " width="730" height="411" srcset="https://aseprite.ru/wp-content/uploads/2024/09/image009-730x411.png 730w, https://aseprite.ru/wp-content/uploads/2024/09/image009-300x169.png 300w, https://aseprite.ru/wp-content/uploads/2024/09/image009-768x432.png 768w, https://aseprite.ru/wp-content/uploads/2024/09/image009-1536x864.png 1536w, https://aseprite.ru/wp-content/uploads/2024/09/image009.png 1920w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="411"></span></noscript></li>
  524. <li>В разделе «Темы» кликните по новой, затем – «Выбрать» и «ОК».</li>
  525. </ol>
  526. <p>Оформление меняется сразу. Иногда появляется диалоговое окно с предложением корректировать масштабирование. Рекомендуем выполнять коррекцию – жмите «А» или кликните по соответствующей кнопке в диалоге.</p>
  527. <p><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-187" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2024/09/image011-730x411.png" alt="корректировать масштабирование" width="730" height="411" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2024/09/image011-730x411.png 730w, https://aseprite.ru/wp-content/uploads/2024/09/image011-300x169.png 300w, https://aseprite.ru/wp-content/uploads/2024/09/image011-768x432.png 768w, https://aseprite.ru/wp-content/uploads/2024/09/image011-1536x864.png 1536w, https://aseprite.ru/wp-content/uploads/2024/09/image011.png 1920w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="411"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-187" src="https://aseprite.ru/wp-content/uploads/2024/09/image011-730x411.png" alt="корректировать масштабирование" width="730" height="411" srcset="https://aseprite.ru/wp-content/uploads/2024/09/image011-730x411.png 730w, https://aseprite.ru/wp-content/uploads/2024/09/image011-300x169.png 300w, https://aseprite.ru/wp-content/uploads/2024/09/image011-768x432.png 768w, https://aseprite.ru/wp-content/uploads/2024/09/image011-1536x864.png 1536w, https://aseprite.ru/wp-content/uploads/2024/09/image011.png 1920w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="411"></span></noscript></p>
  528. <h3 id="izometricheskaya-setka">Изометрическая сетка</h3>
  529. <p>Для добавления изометрической сетки откройте папку со скриптами через выпадающее меню «Файл».</p>
  530. <p><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter wp-image-188 size-large" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2024/09/image013-730x411.png" alt="добавление изометрической сетки " width="730" height="411" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2024/09/image013-730x411.png 730w, https://aseprite.ru/wp-content/uploads/2024/09/image013-300x169.png 300w, https://aseprite.ru/wp-content/uploads/2024/09/image013-768x432.png 768w, https://aseprite.ru/wp-content/uploads/2024/09/image013-1536x864.png 1536w, https://aseprite.ru/wp-content/uploads/2024/09/image013.png 1920w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="411"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter wp-image-188 size-large" src="https://aseprite.ru/wp-content/uploads/2024/09/image013-730x411.png" alt="добавление изометрической сетки " width="730" height="411" srcset="https://aseprite.ru/wp-content/uploads/2024/09/image013-730x411.png 730w, https://aseprite.ru/wp-content/uploads/2024/09/image013-300x169.png 300w, https://aseprite.ru/wp-content/uploads/2024/09/image013-768x432.png 768w, https://aseprite.ru/wp-content/uploads/2024/09/image013-1536x864.png 1536w, https://aseprite.ru/wp-content/uploads/2024/09/image013.png 1920w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="411"></span></noscript></p>
  531. <p>Разархивируйте туда папки commands, dialogs и support с <a href="https://codeload.github.com/behreajj/AsepriteAddons/zip/refs/heads/main">архива</a>.</p>
  532. <p>Просканируйте каталог со сценариями заново.</p>
  533. <p><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-189" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2024/09/image015-730x411.png" alt="каталог со сценариями" width="730" height="411" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2024/09/image015-730x411.png 730w, https://aseprite.ru/wp-content/uploads/2024/09/image015-300x169.png 300w, https://aseprite.ru/wp-content/uploads/2024/09/image015-768x432.png 768w, https://aseprite.ru/wp-content/uploads/2024/09/image015-1536x864.png 1536w, https://aseprite.ru/wp-content/uploads/2024/09/image015.png 1920w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="411"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-189" src="https://aseprite.ru/wp-content/uploads/2024/09/image015-730x411.png" alt="каталог со сценариями" width="730" height="411" srcset="https://aseprite.ru/wp-content/uploads/2024/09/image015-730x411.png 730w, https://aseprite.ru/wp-content/uploads/2024/09/image015-300x169.png 300w, https://aseprite.ru/wp-content/uploads/2024/09/image015-768x432.png 768w, https://aseprite.ru/wp-content/uploads/2024/09/image015-1536x864.png 1536w, https://aseprite.ru/wp-content/uploads/2024/09/image015.png 1920w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="411"></span></noscript></p>
  534. <p>Изометрическая сетка находится по пути на скриншоте.</p>
  535. <p><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="lazy lazy-hidden aligncenter size-large wp-image-190" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2024/09/image017-730x411.png" alt="путь к сетке" width="730" height="411" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2024/09/image017-730x411.png 730w, https://aseprite.ru/wp-content/uploads/2024/09/image017-300x169.png 300w, https://aseprite.ru/wp-content/uploads/2024/09/image017-768x432.png 768w, https://aseprite.ru/wp-content/uploads/2024/09/image017-1536x864.png 1536w, https://aseprite.ru/wp-content/uploads/2024/09/image017.png 1920w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="411"></span><noscript><span itemprop="image" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" loading="lazy" decoding="async" class="aligncenter size-large wp-image-190" src="https://aseprite.ru/wp-content/uploads/2024/09/image017-730x411.png" alt="путь к сетке" width="730" height="411" srcset="https://aseprite.ru/wp-content/uploads/2024/09/image017-730x411.png 730w, https://aseprite.ru/wp-content/uploads/2024/09/image017-300x169.png 300w, https://aseprite.ru/wp-content/uploads/2024/09/image017-768x432.png 768w, https://aseprite.ru/wp-content/uploads/2024/09/image017-1536x864.png 1536w, https://aseprite.ru/wp-content/uploads/2024/09/image017.png 1920w" sizes="auto, (max-width: 730px) 100vw, 730px" /><meta itemprop="width" content="730"><meta itemprop="height" content="411"></span></noscript></p>
  536. <p>Там же есть полигональная и прочие виды сеток.</p>
  537. <h2 id="preimuschestva-i-nedostatki-programmy">Преимущества и недостатки программы</h2>
  538. <p>Плюсы редактора:</p>
  539. <ul>
  540. <li>Возможность создания анимации.</li>
  541. <li>Поддержка опорных слоёв.</li>
  542. <li>Работа с несколькими типами палитр.</li>
  543. <li>Крякнутый Aseprite можно скачать бесплатно.</li>
  544. <li>Настраиваемый интерфейс.</li>
  545. <li>Управление горячими клавишами.</li>
  546. </ul>
  547. <p>Минусы приложения:</p>
  548. <ul>
  549. <li>Не полностью локализованный интерфейс.</li>
  550. </ul>
  551. <p>Функционально Aseprite осваивается за один – два часа.</p>
  552. <p><iframe class="lazy lazy-hidden" loading="lazy" title="ASEPRITE ДЛЯ САМЫХ МАЛЕНЬКИХ" width="730" height="411"  data-lazy-type="iframe" data-src="https://www.youtube.com/embed/hDNJHFa6OP4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe><noscript><iframe loading="lazy" title="ASEPRITE ДЛЯ САМЫХ МАЛЕНЬКИХ" width="730" height="411" src="https://www.youtube.com/embed/hDNJHFa6OP4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></noscript></p><script>
  553. window.jsInputerLaunch = 15;
  554. if (typeof launchAsyncFunctionLauncher === "undefined") {
  555.    function launchAsyncFunctionLauncher() {
  556.        if (typeof RFWP_BlockInserting === "function") {
  557.            RFWP_BlockInserting.launch(blockSettingArray);
  558.        } else {
  559.            setTimeout(function () {
  560.                launchAsyncFunctionLauncher();
  561.            }, 100)
  562.        }
  563.    }
  564. }
  565. launchAsyncFunctionLauncher();
  566. </script><script>
  567. var cachedBlocksArray = [];
  568. cachedBlocksArray[327087] = "<!-- Yandex.RTB R-A-5664282-2 --><div id=\"yandex_rtb_R-A-5664282-2\"><\/div><scr"+"ipt>window.yaContextCb.push(()=>{Ya.Context.AdvManager.render({\"blockId\": \"R-A-5664282-2\",\"renderTo\": \"yandex_rtb_R-A-5664282-2\"})})<\/scr"+"ipt>";
  569. cachedBlocksArray[327086] = "<!-- Yandex.RTB R-A-5664282-1 --><div id=\"yandex_rtb_R-A-5664282-1\"><\/div><scr"+"ipt>window.yaContextCb.push(()=>{Ya.Context.AdvManager.render({\"blockId\": \"R-A-5664282-1\",\"renderTo\": \"yandex_rtb_R-A-5664282-1\"})})<\/scr"+"ipt>";
  570. </script> </div><!-- .entry-content -->
  571.  
  572. </article>
  573.  
  574.  
  575. <div class="social-buttons"><span class="social-button social-button--vkontakte " data-social="vkontakte"></span><span class="social-button social-button--facebook " data-social="facebook"></span><span class="social-button social-button--telegram " data-social="telegram"></span><span class="social-button social-button--odnoklassniki " data-social="odnoklassniki"></span><span class="social-button social-button--twitter " data-social="twitter"></span><span class="social-button social-button--whatsapp " data-social="whatsapp"></span></div>
  576.  
  577. <meta itemprop="author" content="malostran">
  578. <meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://aseprite.ru/" content="Aseprite &#8211; редактор пиксельной графики и анимации">
  579. <meta itemprop="dateModified" content="2024-09-21">
  580. <meta itemprop="datePublished" content="2022-07-09T13:16:27+03:00">
  581. <div itemprop="publisher" itemscope itemtype="https://schema.org/Organization" style="display: none;"><div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" src="https://aseprite.ru/wp-content/uploads/2023/03/imgonline-com-ua-resize-wludtrr2xw.png" alt="Aseprite"></div><meta itemprop="name" content="Aseprite"><meta itemprop="telephone" content="Aseprite"><meta itemprop="address" content="https://aseprite.ru"></div>
  582.        </main><!-- #main -->
  583.    </div><!-- #primary -->
  584.  
  585.    
  586. <aside id="secondary" class="widget-area" itemscope itemtype="http://schema.org/WPSideBar">
  587.  
  588. <div id="custom_html-2" class="widget_text widget widget_custom_html"><div class="widget-header">Aseprite</div><div class="textwidget custom-html-widget"><div class="sbtablewrap">
  589. <table class="sbtable">
  590. <tr><th>Разработчик</th><td>Igara Studio</td></tr>
  591. <tr><th>Лицензия</th><td>Бесплатная</td></tr>
  592. <tr><th>Версия</th><td>1.3.8.1</td></tr>
  593. <tr><th>Размер</th><td>13Mb</td></tr>
  594. <tr><th>Обновлено</th><td>21.09.2024</td></tr>
  595. <tr><th>Операционная система</th><td>Windows, MacOS, Linux</td></tr>
  596. <tr><th>Язык</th><td>Английский, Русский</td></tr>
  597. <tr><th>Категория</th><td>Графический редактор</td></tr>
  598. </table>
  599. </div></div></div><div id="custom_html-3" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><p style="text-align: center;margin-bottom: 20px !important;"><a class="btn" href="https://aseprite.ru/wp-content/uploads/Aseprite.zip"><i class="icon-arrow-up-outline" style="transform: rotate(180deg );display: inline-block;vertical-align: middle;margin-right: 8px;"></i>Скачать Aseprite</a></p></div></div><div id="wpshop_widget_articles-2" class="widget widget_wpshop_widget_articles"><div class="widget-header">Инструкции</div><div class="widget-articles">
  600. <article class="post-card post-card--small ">
  601.    
  602.    <div class="post-card__body">
  603.        <div class="post-card__title"><a href="https://aseprite.ru/stati/soda-pdf-dlya-kompyutera/">Soda PDF для компьютера</a></div>
  604.  
  605.        
  606.                    <div class="post-card__meta">
  607.                                <span class="post-card__views">81</span>            </div>
  608.        
  609.            </div>
  610. </article>
  611. <article class="post-card post-card--small ">
  612.            <div class="post-card__thumbnail">
  613.            <a href="https://aseprite.ru/stati/kak-delat-piksel-art-v-maynkraft/">
  614.                <div class="post-card__icon">
  615.                    <img width="100" height="100" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2024/09/image063-100x100.png" class="lazy lazy-hidden attachment-yelly_square size-yelly_square wp-post-image" alt="индексированные цвета" decoding="async" loading="lazy" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2024/09/image063-100x100.png 100w, https://aseprite.ru/wp-content/uploads/2024/09/image063-150x150.png 150w" sizes="auto, (max-width: 100px) 100vw, 100px" /><noscript><img width="100" height="100" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2024/09/image063-100x100.png" class="lazy lazy-hidden attachment-yelly_square size-yelly_square wp-post-image" alt="индексированные цвета" decoding="async" loading="lazy" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2024/09/image063-100x100.png 100w, https://aseprite.ru/wp-content/uploads/2024/09/image063-150x150.png 150w" sizes="auto, (max-width: 100px) 100vw, 100px" /><noscript><img width="100" height="100" src="https://aseprite.ru/wp-content/uploads/2024/09/image063-100x100.png" class="attachment-yelly_square size-yelly_square wp-post-image" alt="индексированные цвета" decoding="async" loading="lazy" srcset="https://aseprite.ru/wp-content/uploads/2024/09/image063-100x100.png 100w, https://aseprite.ru/wp-content/uploads/2024/09/image063-150x150.png 150w" sizes="auto, (max-width: 100px) 100vw, 100px" /></noscript></noscript>                </div>
  616.            </a>
  617.        </div>
  618.    
  619.    <div class="post-card__body">
  620.        <div class="post-card__title"><a href="https://aseprite.ru/stati/kak-delat-piksel-art-v-maynkraft/">Как делать пиксель-арт в Майнкрафт</a></div>
  621.  
  622.        
  623.                    <div class="post-card__meta">
  624.                                <span class="post-card__views">499</span>            </div>
  625.        
  626.            </div>
  627. </article>
  628. <article class="post-card post-card--small ">
  629.            <div class="post-card__thumbnail">
  630.            <a href="https://aseprite.ru/stati/programmy-dlya-piksel-arta/">
  631.                <div class="post-card__icon">
  632.                    <img width="100" height="100" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2024/09/image057-100x100.png" class="lazy lazy-hidden attachment-yelly_square size-yelly_square wp-post-image" alt="Pyxel Edit" decoding="async" loading="lazy" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2024/09/image057-100x100.png 100w, https://aseprite.ru/wp-content/uploads/2024/09/image057-150x150.png 150w" sizes="auto, (max-width: 100px) 100vw, 100px" /><noscript><img width="100" height="100" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2024/09/image057-100x100.png" class="lazy lazy-hidden attachment-yelly_square size-yelly_square wp-post-image" alt="Pyxel Edit" decoding="async" loading="lazy" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2024/09/image057-100x100.png 100w, https://aseprite.ru/wp-content/uploads/2024/09/image057-150x150.png 150w" sizes="auto, (max-width: 100px) 100vw, 100px" /><noscript><img width="100" height="100" src="https://aseprite.ru/wp-content/uploads/2024/09/image057-100x100.png" class="attachment-yelly_square size-yelly_square wp-post-image" alt="Pyxel Edit" decoding="async" loading="lazy" srcset="https://aseprite.ru/wp-content/uploads/2024/09/image057-100x100.png 100w, https://aseprite.ru/wp-content/uploads/2024/09/image057-150x150.png 150w" sizes="auto, (max-width: 100px) 100vw, 100px" /></noscript></noscript>                </div>
  633.            </a>
  634.        </div>
  635.    
  636.    <div class="post-card__body">
  637.        <div class="post-card__title"><a href="https://aseprite.ru/stati/programmy-dlya-piksel-arta/">Программы для пиксель-арта</a></div>
  638.  
  639.        
  640.                    <div class="post-card__meta">
  641.                                <span class="post-card__views">671</span>            </div>
  642.        
  643.            </div>
  644. </article>
  645. <article class="post-card post-card--small ">
  646.            <div class="post-card__thumbnail">
  647.            <a href="https://aseprite.ru/stati/kak-sdelat-piksel-art-iz-foto/">
  648.                <div class="post-card__icon">
  649.                    <img width="100" height="100" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2024/09/image049-100x100.png" class="lazy lazy-hidden attachment-yelly_square size-yelly_square wp-post-image" alt="ArtGuru" decoding="async" loading="lazy" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2024/09/image049-100x100.png 100w, https://aseprite.ru/wp-content/uploads/2024/09/image049-150x150.png 150w" sizes="auto, (max-width: 100px) 100vw, 100px" /><noscript><img width="100" height="100" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2024/09/image049-100x100.png" class="lazy lazy-hidden attachment-yelly_square size-yelly_square wp-post-image" alt="ArtGuru" decoding="async" loading="lazy" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2024/09/image049-100x100.png 100w, https://aseprite.ru/wp-content/uploads/2024/09/image049-150x150.png 150w" sizes="auto, (max-width: 100px) 100vw, 100px" /><noscript><img width="100" height="100" src="https://aseprite.ru/wp-content/uploads/2024/09/image049-100x100.png" class="attachment-yelly_square size-yelly_square wp-post-image" alt="ArtGuru" decoding="async" loading="lazy" srcset="https://aseprite.ru/wp-content/uploads/2024/09/image049-100x100.png 100w, https://aseprite.ru/wp-content/uploads/2024/09/image049-150x150.png 150w" sizes="auto, (max-width: 100px) 100vw, 100px" /></noscript></noscript>                </div>
  650.            </a>
  651.        </div>
  652.    
  653.    <div class="post-card__body">
  654.        <div class="post-card__title"><a href="https://aseprite.ru/stati/kak-sdelat-piksel-art-iz-foto/">Как сделать пиксель-арт из фото или другого изображения</a></div>
  655.  
  656.        
  657.                    <div class="post-card__meta">
  658.                                <span class="post-card__views">893</span>            </div>
  659.        
  660.            </div>
  661. </article>
  662. <article class="post-card post-card--small ">
  663.            <div class="post-card__thumbnail">
  664.            <a href="https://aseprite.ru/instruktsii/neyroset/">
  665.                <div class="post-card__icon">
  666.                    <img width="100" height="100" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2024/09/image039-100x100.png" class="lazy lazy-hidden attachment-yelly_square size-yelly_square wp-post-image" alt="использование нейросети" decoding="async" loading="lazy" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2024/09/image039-100x100.png 100w, https://aseprite.ru/wp-content/uploads/2024/09/image039-150x150.png 150w" sizes="auto, (max-width: 100px) 100vw, 100px" /><noscript><img width="100" height="100" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/images/lazy_placeholder.gif" data-lazy-type="image" data-src="https://aseprite.ru/wp-content/uploads/2024/09/image039-100x100.png" class="lazy lazy-hidden attachment-yelly_square size-yelly_square wp-post-image" alt="использование нейросети" decoding="async" loading="lazy" srcset="" data-srcset="https://aseprite.ru/wp-content/uploads/2024/09/image039-100x100.png 100w, https://aseprite.ru/wp-content/uploads/2024/09/image039-150x150.png 150w" sizes="auto, (max-width: 100px) 100vw, 100px" /><noscript><img width="100" height="100" src="https://aseprite.ru/wp-content/uploads/2024/09/image039-100x100.png" class="attachment-yelly_square size-yelly_square wp-post-image" alt="использование нейросети" decoding="async" loading="lazy" srcset="https://aseprite.ru/wp-content/uploads/2024/09/image039-100x100.png 100w, https://aseprite.ru/wp-content/uploads/2024/09/image039-150x150.png 150w" sizes="auto, (max-width: 100px) 100vw, 100px" /></noscript></noscript>                </div>
  667.            </a>
  668.        </div>
  669.    
  670.    <div class="post-card__body">
  671.        <div class="post-card__title"><a href="https://aseprite.ru/instruktsii/neyroset/">Нейросеть для Aseprite</a></div>
  672.  
  673.        
  674.                    <div class="post-card__meta">
  675.                                <span class="post-card__views">2.5k.</span>            </div>
  676.        
  677.            </div>
  678. </article></div></div>
  679. </aside><!-- #secondary -->
  680.  
  681.    
  682.  
  683.    </div><!--.site-content-inner-->
  684.  
  685.    
  686. </div><!--.site-content-->
  687.  
  688.    
  689.    
  690.  
  691. <div class="site-footer-container">
  692.  
  693.    
  694.  
  695.    <div class="footer-navigation fixed" itemscope itemtype="http://schema.org/SiteNavigationElement">
  696.        <div class="main-navigation-inner fixed">
  697.            <div class="menu-menyu-v-futere-container"><ul id="footer_menu" class="menu"><li id="menu-item-45" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-45"><a href="https://aseprite.ru/o-sayte/">О сайте</a></li>
  698. <li id="menu-item-44" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-44"><a href="https://aseprite.ru/kontakty/">Контакты</a></li>
  699. <li id="menu-item-46" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-privacy-policy menu-item-46"><a rel="privacy-policy" href="https://aseprite.ru/privacy-policy/">Политика конфиденциальности</a></li>
  700. </ul></div>        </div>
  701.    </div><!--footer-navigation-->
  702.  
  703.  
  704.    <footer id="colophon" class="site-footer full" itemscope itemtype="http://schema.org/WPFooter">
  705.        <div class="site-footer-inner fixed">
  706.  
  707.            
  708.            
  709. <div class="footer-bottom">
  710.    <div class="footer-info">
  711.        <div class="footer-copyright">© 2022-2025 Не является официальным сайтом. Все товарные знаки принадлежат их владельцам.</div>
  712.        <div class="footer-under-copyright"></div>
  713.        </div>
  714.  
  715.    </div>
  716.        </div>
  717.    </footer><!--.site-footer-->
  718. </div>
  719.  
  720.  
  721.            <button type="button" class="scrolltop js-scrolltop"></button>
  722.    
  723.    
  724. </div><!-- #page -->
  725.  
  726. <script type="speculationrules">
  727. {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"\/*"},{"not":{"href_matches":["\/wp-*.php","\/wp-admin\/*","\/wp-content\/uploads\/*","\/wp-content\/*","\/wp-content\/plugins\/*","\/wp-content\/themes\/samfirm-child\/*","\/wp-content\/themes\/samfirm\/*","\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
  728. </script>
  729. <script>var pseudo_links = document.querySelectorAll(".pseudo-clearfy-link");for (var i=0;i<pseudo_links.length;i++ ) { pseudo_links[i].addEventListener("click", function(e){   window.open( e.target.getAttribute("data-uri") ); }); }</script><script>
  730. if (typeof rb_ajaxurl==='undefined') {var rb_ajaxurl = 'https://aseprite.ru/wp-admin/admin-ajax.php';}
  731. if (typeof rb_csrf==='undefined') {var rb_csrf = '2f7cc6522a';}
  732. if (typeof gather_content==='undefined') {var gather_content = true;}
  733. window.RFWP_BlockInserting = class {
  734.    _blockSettingArray;
  735.  
  736.    static endedSc = false;
  737.    static endedCc = false;
  738.  
  739.    constructor(blockSettingArray) {
  740.        this._blockSettingArray = blockSettingArray;
  741.    }
  742.  
  743.    static launch(blockSettingArray) {
  744.        var $this = this;
  745.        if (window.jsInputerLaunch !== undefined && [15, 10].includes(window.jsInputerLaunch)) {
  746.            var item = new RFWP_BlockInserting(blockSettingArray);
  747.            item.insert();
  748.            if (!this.endedSc) {
  749.                item.shortcodesInsert();
  750.            }
  751.            if (!this.endedCc) {
  752.                /* clearUnsuitableCache(0); */
  753.            }
  754.            /* blocksReposition();
  755.            cachePlacing();
  756.            symbolMarkersPlaced(); */
  757.        } else {
  758.            setTimeout(function () {
  759.                $this.launch(blockSettingArray);
  760.            }, 50);
  761.        }
  762.    }
  763.  
  764.    insert() {
  765.        let repeatInsert = false;
  766.        let index, parent_with_content, usedBlockSettingArrayIds, lordOfElements, contentLength, rejectedBlocks,
  767.            containerFor6th, containerFor7th, countHeaders, blockSetting, currentElement, currentElementArray, elPlace;
  768.  
  769.        document.querySelectorAll(".content_pointer_class").forEach((content_pointer) => {
  770.            parent_with_content = content_pointer.parentElement;
  771.            usedBlockSettingArrayIds = (content_pointer.getAttribute('data-block-ids') || "").split(',');
  772.            lordOfElements = parent_with_content;
  773.            parent_with_content = parent_with_content.parentElement;
  774.            contentLength = content_pointer.getAttribute('data-content-length');
  775.            rejectedBlocks = content_pointer.getAttribute('data-rejected-blocks');
  776.            if (rejectedBlocks&&rejectedBlocks.length > 0) {
  777.                rejectedBlocks = rejectedBlocks.split(',');
  778.            }
  779.            containerFor6th = [];
  780.            containerFor7th = [];
  781.  
  782.            countHeaders = parent_with_content.querySelectorAll('h1, h2, h3, h4, h5, h6').length;
  783.  
  784.            while((index = usedBlockSettingArrayIds.findIndex((el) => el === "")) >= 0) {
  785.                usedBlockSettingArrayIds.splice(index, 1);
  786.            }
  787.  
  788.            if (contentLength < 1) {
  789.                contentLength = parent_with_content.innerText.length
  790.            }
  791.  
  792.            for (var i = 0; i < this._blockSettingArray.length; i++) {
  793.                blockSetting = this._blockSettingArray[i];
  794.                currentElement = null;
  795.                currentElementArray = [];
  796.  
  797.                try {
  798.                    const binderName = blockSetting["rb_under"];
  799.  
  800.                    if (!blockSetting["text"] ||
  801.                        (blockSetting["text"] && blockSetting["text"].length < 1)
  802.                    ) {
  803.                        this._blockSettingArray.splice(i--, 1);
  804.                        continue;
  805.                    }
  806.  
  807.                    if (rejectedBlocks&&rejectedBlocks.includes(blockSetting["id"]) ||
  808.                        (blockSetting["maxHeaders"] > 0 && blockSetting["maxHeaders"] < parseInt(countHeaders)) ||
  809.                        (blockSetting["maxSymbols"] > 0 && blockSetting["maxSymbols"] < parseInt(contentLength)) ||
  810.                        (content_pointer.classList.contains("hard-content") && blockSetting["setting_type"] !== 3)
  811.                    ) {
  812.                        continue;
  813.                    }
  814.  
  815.                    const elementToAdd = this.createBlockElement(blockSetting),
  816.                        block_number = elementToAdd.children[0].attributes['data-id'].value;
  817.  
  818.                    if (usedBlockSettingArrayIds.length > 0 && usedBlockSettingArrayIds.includes(block_number)) {
  819.                        continue;
  820.                    }
  821.  
  822.                    if ((blockSetting["minHeaders"] > 0)&&(blockSetting["minHeaders"] > countHeaders)) {continue;}
  823.                    if (blockSetting["minSymbols"] > contentLength) {continue;}
  824.  
  825.                    if (blockSetting["setting_type"] == 1) {
  826.                        currentElementArray = this.currentElementsGather(blockSetting["element"].toLowerCase(), parent_with_content);
  827.                        if (!!currentElementArray && currentElementArray.length > 0) {
  828.                            if (blockSetting["elementPlace"] < 0) {
  829.                                elPlace = currentElementArray.length + blockSetting["elementPlace"];
  830.                                if (elPlace >= 0 && elPlace < currentElementArray.length) {
  831.                                    currentElement = this.currentElementReceiver(true, content_pointer, blockSetting, currentElementArray, elPlace);
  832.                                }
  833.                            } else {
  834.                                elPlace = blockSetting["elementPlace"] - 1;
  835.                                if (elPlace < currentElementArray.length) {
  836.                                    currentElement = this.currentElementReceiver(false, content_pointer, blockSetting, currentElementArray, elPlace);
  837.                                }
  838.                            }
  839.                        }
  840.                        if (!currentElement && blockSetting["showNoElement"]) {
  841.                            currentElement = currentElementArray[currentElementArray.length - 1];
  842.                        }
  843.                        if (!!currentElement) {
  844.                            this.addBlockAd(blockSetting, currentElement, elementToAdd);
  845.                            usedBlockSettingArrayIds.push(block_number);
  846.                        } else {
  847.                            repeatInsert = true;
  848.                        }
  849.                    }
  850.                    else if (blockSetting["setting_type"] == 2) {
  851.                        if (blockDuplicate == 'no') {
  852.                            blockSetting["elementCount"] = 1;
  853.                        }
  854.                        var curFirstPlace = blockSetting["firstPlace"],
  855.                            curElementCount = blockSetting["elementCount"],
  856.                            curElementStep = blockSetting["elementStep"],
  857.                            repeatableBlockIdentifier = 0,
  858.                            successAdd = false;
  859.  
  860.                        currentElementArray = this.currentElementsGather(blockSetting["element"].toLowerCase(), parent_with_content);
  861.                        if (currentElementArray) {
  862.                            for (let i1 = 0; i1 < blockSetting["elementCount"]; i1++) {
  863.                                elementToAdd.classList.add("repeatable-mark-" + repeatableBlockIdentifier);
  864.  
  865.                                elPlace = Math.round(parseInt(blockSetting["firstPlace"]) + (i1*parseInt(blockSetting["elementStep"])) - 1);
  866.                                if (elPlace < currentElementArray.length) {
  867.                                    currentElement = this.currentElementReceiver(false, content_pointer, blockSetting, currentElementArray, elPlace);
  868.                                }
  869.                                if (!currentElement && blockSetting["showNoElement"] && !i1) {
  870.                                    currentElement = currentElementArray[currentElementArray.length - 1];
  871.                                }
  872.  
  873.                                if (currentElement !== undefined && currentElement != null) {
  874.                                    this.addBlockAd(blockSetting, currentElement, elementToAdd);
  875.                                    curFirstPlace = elPlace + parseInt(blockSetting["elementStep"]) + 1;
  876.                                    curElementCount--;
  877.                                    successAdd = true;
  878.                                } else {
  879.                                    successAdd = false;
  880.                                    break;
  881.                                }
  882.                            }
  883.                        }
  884.                        if (successAdd === true) {
  885.                            usedBlockSettingArrayIds.push(block_number);
  886.                            repeatableBlockIdentifier++;
  887.                        } else {
  888.                            if (!blockSetting["unsuccess"]) {
  889.                                blockSetting["unsuccess"] = 1;
  890.                            } else {
  891.                                blockSetting["unsuccess"] = Math.round(blockSetting["unsuccess"] + 1);
  892.                            }
  893.                            if (blockSetting["unsuccess"] > 10) {
  894.                                usedBlockSettingArrayIds.push(block_number);
  895.                            } else {
  896.                                blockSetting["firstPlace"] = curFirstPlace;
  897.                                blockSetting["elementCount"] = curElementCount;
  898.                                blockSetting["elementStep"] = curElementStep;
  899.                                repeatInsert = true;
  900.                            }
  901.                        }
  902.                    }
  903.                    else if (blockSetting["setting_type"] == 3) {
  904.                        currentElement = this.getElementBySelection(blockSetting["directElement"].trim(), blockSetting)
  905.  
  906.                        if (!!currentElement) {
  907.                            this.addBlockAd(blockSetting, currentElement, elementToAdd);
  908.                            usedBlockSettingArrayIds.push(block_number);
  909.                            this._blockSettingArray.splice(i--, 1);
  910.                        } else {
  911.                            repeatInsert = true;
  912.                        }
  913.                    }
  914.                    else if (blockSetting["setting_type"] == 4) {
  915.                        content_pointer.parentElement.append(elementToAdd);
  916.                        usedBlockSettingArrayIds.push(block_number);
  917.                    }
  918.                    else if (blockSetting["setting_type"] == 5) {
  919.                        currentElementArray = this.currentElementsGather('p', content_pointer.parentElement, 1);
  920.                        if (currentElementArray && currentElementArray.length > 0) {
  921.                            let pCount = currentElementArray.length;
  922.                            let elementNumber = Math.round(pCount/2);
  923.                            if (pCount > 1) {
  924.                                currentElement = currentElementArray[elementNumber+1];
  925.                            }
  926.                            if (!!currentElement) {
  927.                                if (pCount > 1) {
  928.                                    this.addBlockAd(blockSetting, currentElement, elementToAdd, currentElement);
  929.                                } else {
  930.                                    this.addBlockAd(blockSetting, currentElement, elementToAdd, currentElement.nextSibling);
  931.                                }
  932.                                usedBlockSettingArrayIds.push(block_number);
  933.                            } else {
  934.                                repeatInsert = true;
  935.                            }
  936.                        } else {
  937.                            repeatInsert = true;
  938.                        }
  939.                    }
  940.                    else if (blockSetting["setting_type"] == 6) {
  941.                        if (containerFor6th.length > 0) {
  942.                            for (let j = 0; j < containerFor6th.length; j++) {
  943.                                if (containerFor6th[j]["elementPlace"]>blockSetting["elementPlace"]) {
  944.                                    /* continue; */
  945.                                    if (j === containerFor6th.length-1) {
  946.                                        containerFor6th.push(blockSetting);
  947.                                        usedBlockSettingArrayIds.push(block_number);
  948.                                        break;
  949.                                    }
  950.                                } else {
  951.                                    containerFor6th.splice(j, 0, blockSetting)
  952.                                    usedBlockSettingArrayIds.push(block_number);
  953.                                    break;
  954.                                }
  955.                            }
  956.                        } else {
  957.                            containerFor6th.push(blockSetting);
  958.                            usedBlockSettingArrayIds.push(block_number);
  959.                        }
  960.                        /* vidpravutu v vidstiinuk dlya 6ho tipa */
  961.                    }
  962.                    else if (blockSetting["setting_type"] == 7) {
  963.                        if (containerFor7th.length > 0) {
  964.                            for (let j = 0; j < containerFor7th.length; j++) {
  965.                                if (containerFor7th[j]["elementPlace"]>blockSetting["elementPlace"]) {
  966.                                    /* continue; */
  967.                                    if (j == containerFor7th.length-1) {
  968.                                        containerFor7th.push(blockSetting);
  969.                                        usedBlockSettingArrayIds.push(block_number);
  970.                                        break;
  971.                                    }
  972.                                } else {
  973.                                    containerFor7th.splice(j, 0, blockSetting)
  974.                                    usedBlockSettingArrayIds.push(block_number);
  975.                                    break;
  976.                                }
  977.                            }
  978.                        } else {
  979.                            containerFor7th.push(blockSetting);
  980.                            usedBlockSettingArrayIds.push(block_number);
  981.                        }
  982.                    }
  983.                } catch (e) {
  984.                    console.log(e.message);
  985.                }
  986.            }
  987.  
  988.            var array = this.textLengthGatherer(lordOfElements),
  989.                tlArray = array.array,
  990.                length = array.length;
  991.  
  992.            if (containerFor6th.length > 0) {
  993.                this.percentInserter(lordOfElements, containerFor6th, tlArray, length);
  994.            }
  995.            if (containerFor7th.length > 0) {
  996.                this.symbolInserter(lordOfElements, containerFor7th, tlArray);
  997.            }
  998.            this.shortcodesInsert();
  999.            content_pointer.setAttribute("data-block-ids", usedBlockSettingArrayIds.join(","))
  1000.        });
  1001.  
  1002.        let stopper = 0,
  1003.            $this = this;
  1004.  
  1005.        window.addEventListener('load', function () {
  1006.            if (repeatInsert === true) {
  1007.                setTimeout(function () {
  1008.                    $this.insert();
  1009.                }, 100);
  1010.            }
  1011.        });
  1012.    }
  1013.  
  1014.    createBlockElement(blockSetting) {
  1015.        let element = document.createElement("div");
  1016.  
  1017.        element.classList.add("percentPointerClass");
  1018.        element.classList.add("marked");
  1019.        if (blockSetting["sc"] === 1) {
  1020.            element.classList.add("scMark");
  1021.        }
  1022.        element.innerHTML = blockSetting["text"];
  1023.        element.dataset.rbinder = blockSetting["rb_under"];
  1024.  
  1025.        const block_number = element.children[0].attributes['data-id'].value,
  1026.            elementToAddStyle = this.createStyleElement(block_number, blockSetting["elementCss"]);
  1027.  
  1028.        if (elementToAddStyle&&elementToAddStyle!=='default') {
  1029.            element.style.textAlign = elementToAddStyle;
  1030.        }
  1031.  
  1032.        return element
  1033.    }
  1034.  
  1035.    addBlockAd(blockSetting, currentElement, elementToAdd, position = null) {
  1036.        if (!position) {
  1037.            position = this.initTargetToInsert(blockSetting["elementPosition"], 'element', currentElement);
  1038.        }
  1039.        currentElement.parentNode.insertBefore(elementToAdd, position);
  1040.        currentElement.classList.add('rbinder-'+blockSetting["rb_under"]);
  1041.        elementToAdd.classList.remove('coveredAd');
  1042.    }
  1043.  
  1044.    getElementBySelection(directElement, blockSetting) {
  1045.        if (directElement.search('#') > -1) {
  1046.            return document.querySelector(directElement);
  1047.        }
  1048.        if ((directElement.search('#') < 0)&&(directElement.search('.') > -1)) {
  1049.            return this.directClassElementDetecting(directElement, blockSetting);
  1050.        }
  1051.    }
  1052.  
  1053.    directClassElementDetecting(directElement, blockSetting) {
  1054.        let findQuery = false;
  1055.        let currentElementArray = document.querySelectorAll(directElement);
  1056.        let currentElement = null;
  1057.  
  1058.        if (currentElementArray.length > 0) {
  1059.            if (blockSetting['elementPlace'] > 1) {
  1060.                if (currentElementArray.length >= blockSetting['elementPlace']) {
  1061.                    currentElement = currentElementArray[blockSetting['elementPlace']-1];
  1062.                } else if (currentElementArray.length < blockSetting['elementPlace']) {
  1063.                    if (blockSetting['showNoElement'] > 0) {
  1064.                        currentElement = currentElementArray[currentElementArray.length - 1];
  1065.                    }
  1066.                } else {
  1067.                    findQuery = true;
  1068.                }
  1069.            } else if (blockSetting['elementPlace'] < 0) {
  1070.                if ((currentElementArray.length + blockSetting['elementPlace'] + 1) > 0) {
  1071.                    currentElement = currentElementArray[currentElementArray.length + blockSetting['elementPlace']];
  1072.                } else {
  1073.                    findQuery = true;
  1074.                }
  1075.            } else {
  1076.                findQuery = true;
  1077.            }
  1078.        } else {
  1079.            findQuery = true;
  1080.        }
  1081.  
  1082.        if (findQuery) {
  1083.            currentElement = document.querySelector(directElement);
  1084.        }
  1085.  
  1086.        return currentElement;
  1087.    }
  1088.  
  1089.    placingArrayToH1(usedElement, elementTagToFind) {
  1090.        let elements = usedElement.querySelectorAll(elementTagToFind);
  1091.  
  1092.        if (elements.length < 1) {
  1093.            if (usedElement.parentElement) {
  1094.                elements = this.placingArrayToH1(usedElement.parentElement, elementTagToFind);
  1095.            }
  1096.        }
  1097.        return elements;
  1098.    }
  1099.  
  1100.    elementsCleaning(excArr, elList, pwcLocal, gatherString) {
  1101.        let markedClass = 'rb_m_inc';
  1102.        let markedClassBad = 'rb_m_exc';
  1103.        let cou = 0;
  1104.        let cou1 = 0;
  1105.        let finalArr = [];
  1106.        let finalArrClear = [];
  1107.        let checkNearest;
  1108.        let outOfRangeCheck;
  1109.        let gatherRejected;
  1110.        let allower;
  1111.  
  1112.        try {
  1113.            while (elList[cou]) {
  1114.                allower = true;
  1115.                if (!elList[cou].classList.contains(markedClassBad)) {
  1116.                    if (excArr&&excArr.length > 0) {
  1117.                        cou1 = 0;
  1118.                        while (excArr[cou1]) {
  1119.                            checkNearest = elList[cou].parentElement.closest(excArr[cou1]);
  1120.                            if (checkNearest) {
  1121.                                checkNearest.classList.add('currClosest');
  1122.                                outOfRangeCheck = pwcLocal.querySelector('.currClosest');
  1123.                                if (outOfRangeCheck) {
  1124.                                    allower = false;
  1125.                                    checkNearest.classList.add(markedClass);
  1126.                                    gatherRejected = checkNearest.querySelectorAll(gatherString);
  1127.                                    if (gatherRejected.length > 0) {
  1128.                                        for (let i1 = 0; i1 < gatherRejected.length; i1++) {
  1129.                                            gatherRejected[i1].classList.add(markedClassBad);
  1130.                                        }
  1131.                                    }
  1132.                                }
  1133.                                checkNearest.classList.remove('currClosest');
  1134.                            }
  1135.                            cou1++;
  1136.                        }
  1137.                    }
  1138.                    if (allower===true) {
  1139.                        elList[cou].classList.add(markedClass);
  1140.                        /* finalArr.push(elList[cou]); */
  1141.                    }
  1142.                }
  1143.                cou++;
  1144.            }
  1145.            finalArr = pwcLocal.querySelectorAll('.'+markedClass+':not('+markedClassBad+')');
  1146.            finalArrClear = pwcLocal.querySelectorAll('.'+markedClass+',.'+markedClassBad);
  1147.            if (finalArrClear&&finalArrClear.length > 0) {
  1148.                for (let i1 = 0; i1 < finalArrClear.length; i1++) {
  1149.                    finalArrClear[i1].classList.remove(markedClass,markedClassBad);
  1150.                }
  1151.            }
  1152.        } catch (er) {
  1153.            console.log(er.message);
  1154.        }
  1155.        return finalArr;
  1156.    }
  1157.  
  1158.    currentElementsGather(usedElement, localPwc, loopLimit = 2, ) {
  1159.        let curElementSearchRepeater = true;
  1160.        let curElementSearchCounter = 0;
  1161.        let currentElementArray = null;
  1162.        let ExcludedString = '';
  1163.        let tagListString = '';
  1164.        let tagListStringExc = '';
  1165.        let cou = 0;
  1166.        let tagList;
  1167.        /* let excArr = excIdClUnpacker(); */
  1168.        let tagListCou = 0;
  1169.  
  1170.        if (usedElement==='h1') {
  1171.            currentElementArray = this.placingArrayToH1(localPwc, usedElement);
  1172.        } else {
  1173.            if (usedElement==='h2-4')
  1174.                tagList = ['h2','h3','h3'];
  1175.            else
  1176.                tagList = [usedElement];
  1177.  
  1178.            while (tagList[tagListCou]) {
  1179.                tagListString += ((cou++ > 0) ? ',' : '') + tagList[tagListCou];
  1180.                tagListStringExc += ':not(' + tagList[tagListCou] + ')';
  1181.                tagListCou++;
  1182.            }
  1183.  
  1184.            ExcludedString = '';
  1185.            if (excIdClass&&excIdClass.length > 0) {
  1186.                for (let i2 = 0; i2 < excIdClass.length; i2++) {
  1187.                    if (excIdClass[i2].length > 0) {
  1188.                        ExcludedString += (i2>0?',':'')+excIdClass[i2]+tagListStringExc;
  1189.                    }
  1190.                }
  1191.            }
  1192.            let detailedQueryString = tagListString+','+ExcludedString;
  1193.  
  1194.            /* console.log(detailedQueryString); */
  1195.            while (curElementSearchRepeater&&curElementSearchCounter < loopLimit) {
  1196.                try {
  1197.                    currentElementArray = localPwc.querySelectorAll(tagListString);
  1198.                } catch (e1) {console.log(e1.message);}
  1199.                if (!currentElementArray || !currentElementArray.length) {
  1200.                    if (localPwc.parentElement) {
  1201.                        localPwc = localPwc.parentElement;
  1202.                    } else {
  1203.                        break;
  1204.                    }
  1205.                } else {
  1206.                    currentElementArray = this.elementsCleaning(excIdClass, currentElementArray, localPwc, detailedQueryString);
  1207.                    curElementSearchRepeater = false;
  1208.                }
  1209.                curElementSearchCounter++;
  1210.            }
  1211.        }
  1212.        return currentElementArray;
  1213.    }
  1214.  
  1215.    currentElementReceiver(revert, content_pointer, blockSetting, currentElementArray, elPlace) {
  1216.        let currentElement = null;
  1217.        let sameElementAfterWidth = false;
  1218.        let testCou = 0;
  1219.        while (currentElementArray[elPlace] && sameElementAfterWidth === false && testCou < 8) {
  1220.            currentElement = currentElementArray[elPlace];
  1221.            try {
  1222.                sameElementAfterWidth = this.checkAdsWidth(content_pointer, blockSetting["elementPosition"], currentElement);
  1223.            } catch (ex) {
  1224.                sameElementAfterWidth = true;
  1225.                console.log(ex.message);
  1226.            }
  1227.            revert? elPlace--: elPlace++;
  1228.            testCou++;
  1229.        }
  1230.  
  1231.        return currentElement;
  1232.    }
  1233.  
  1234.  
  1235.    symbolInserter(lordOfElements, containerFor7th, tlArray) {
  1236.        try {
  1237.            var currentChildrenLength = 0;
  1238.            let previousBreak = 0;
  1239.            let needleLength;
  1240.            let currentSumLength;
  1241.            let elementToAdd;
  1242.            let elementToBind;
  1243.            let binderName;
  1244.  
  1245.            if (!lordOfElements.querySelector(".markedSpan1")) {
  1246.                for (let i = 0; i < containerFor7th.length; i++) {
  1247.                    previousBreak = 0;
  1248.                    currentChildrenLength = 0;
  1249.                    currentSumLength = 0;
  1250.                    needleLength = Math.abs(containerFor7th[i]['elementPlace']);
  1251.                    binderName = containerFor7th[i]["rb_under"];
  1252.  
  1253.                    elementToAdd = this.createBlockElement(containerFor7th[i]);
  1254.                    if (!elementToAdd) {
  1255.                        continue;
  1256.                    }
  1257.  
  1258.                    if (containerFor7th[i]['elementPlace'] < 0) {
  1259.                        for (let j = tlArray.length-1; j > -1; j--) {
  1260.                            currentSumLength = currentSumLength + tlArray[j]['length'];
  1261.                            if (needleLength < currentSumLength) {
  1262.                                elementToBind = tlArray[j]['element'];
  1263.                                elementToBind = this.currentElementReceiverSpec(true, j, tlArray, elementToBind);
  1264.                                this.addBlockAd(containerFor7th[i], elementToBind, elementToAdd, elementToBind);
  1265.                                break;
  1266.                            }
  1267.                        }
  1268.                    } else if (containerFor7th[i]['elementPlace'] == 0) {
  1269.                        elementToBind = tlArray[0]['element'];
  1270.                        this.addBlockAd(containerFor7th[i], elementToBind, elementToAdd, elementToBind);
  1271.                    } else {
  1272.                        for (let j = 0; j < tlArray.length; j++) {
  1273.                            currentSumLength = currentSumLength + tlArray[j]['length'];
  1274.                            if (needleLength < currentSumLength) {
  1275.                                elementToBind = tlArray[j]['element'];
  1276.                                elementToBind = this.currentElementReceiverSpec(false, j, tlArray, elementToBind);
  1277.                                this.addBlockAd(containerFor7th[i], elementToBind, elementToAdd, elementToBind.nextSibling);
  1278.                                break;
  1279.                            }
  1280.                        }
  1281.                    }
  1282.                }
  1283.  
  1284.                var spanMarker = document.createElement("span");
  1285.                spanMarker.classList.add("markedSpan1");
  1286.                lordOfElements.prepend(spanMarker);
  1287.            }
  1288.        } catch (e) {
  1289.            console.log(e);
  1290.        }
  1291.    }
  1292.  
  1293.    percentInserter(lordOfElements, containerFor6th, tlArray, textLength) {
  1294.        try {
  1295.            var textNeedyLength = 0;
  1296.            let elementToAdd;
  1297.            var elementToBind;
  1298.            let elementToAddStyle;
  1299.            let block_number;
  1300.            var binderName;
  1301.            let $this = this;
  1302.  
  1303.            function insertByPercents(textLength) {
  1304.                let localMiddleValue = 0;
  1305.  
  1306.                for (let j = 0; j < containerFor6th.length; j++) {
  1307.                    textNeedyLength = Math.round(textLength * (containerFor6th[j]["elementPlace"]/100));
  1308.                    for (let i = 0; i < tlArray.length; i++) {
  1309.                        if (tlArray[i]['lengthSum'] >= textNeedyLength) {
  1310.                            binderName = containerFor6th[j]["rb_under"];
  1311.                            elementToAdd = $this.createBlockElement(containerFor6th[j]);
  1312.                            if (!elementToAdd) {
  1313.                                break;
  1314.                            }
  1315.  
  1316.                            localMiddleValue = tlArray[i]['lengthSum'] - Math.round(tlArray[i]['length']/2);
  1317.                            elementToBind = tlArray[i]['element'];
  1318.                            $this.currentElementReceiverSpec(false, i, tlArray, elementToBind);
  1319.                            if (textNeedyLength < localMiddleValue) {
  1320.                                $this.addBlockAd(containerFor6th[j], elementToBind, elementToAdd, elementToBind);
  1321.                            } else {
  1322.                                $this.addBlockAd(containerFor6th[j], elementToBind, elementToAdd, elementToBind.nextSibling);
  1323.                            }
  1324.                            break;
  1325.                        }
  1326.                    }
  1327.                }
  1328.                return false;
  1329.            }
  1330.  
  1331.            function clearTlMarks() {
  1332.                let marksForDeleting = document.querySelectorAll('.textLengthMarker');
  1333.  
  1334.                if (marksForDeleting.length > 0) {
  1335.                    for (let i = 0; i < marksForDeleting.length; i++) {
  1336.                        marksForDeleting[i].remove();
  1337.                    }
  1338.                }
  1339.            }
  1340.  
  1341.            if (!lordOfElements.querySelector(".markedSpan")) {
  1342.                insertByPercents(textLength);
  1343.                clearTlMarks();
  1344.                var spanMarker = document.createElement("span");
  1345.                spanMarker.classList.add("markedSpan");
  1346.                lordOfElements.prepend(spanMarker);
  1347.            }
  1348.        } catch (e) {
  1349.            console.log(e.message);
  1350.        }
  1351.    }
  1352.  
  1353.  
  1354.    /* "sc" in variables - mark for shortcode variable */
  1355.    shortcodesInsert() {
  1356.        let gatheredBlocks = document.querySelectorAll('.percentPointerClass.scMark'),
  1357.            scBlockId = -1,
  1358.            scAdId = -1,
  1359.            blockStatus = '',
  1360.            dataFull = -1,
  1361.            gatheredBlockChild,
  1362.            okStates = ['done','refresh-wait','no-block','fetched'],
  1363.            scContainer,
  1364.            sci,
  1365.            i1 = 0,
  1366.            skyscraperStatus = false,
  1367.            splitedSkyscraper = [],
  1368.            gatheredBlockChildSkyParts = [],
  1369.            stickyStatus = false,
  1370.            stickyCheck = [],
  1371.            stickyFixedStatus = false,
  1372.            stickyFixedCheck = [],
  1373.            repeatableIdentifier = "",
  1374.            dataCidIdentifier = null,
  1375.            divCidElement = '';
  1376.  
  1377.        if (typeof scArray !== 'undefined') {
  1378.            if (scArray&&scArray.length > 0&&gatheredBlocks&&gatheredBlocks.length > 0&&typeof window.rulvW5gntb !== 'undefined') {
  1379.                dataCidIdentifier = window.rulvW5gntb;
  1380.                for (let i = 0; i < gatheredBlocks.length; i++) {
  1381.                    gatheredBlockChild = gatheredBlocks[i].children[0];
  1382.                    if (!gatheredBlockChild) {
  1383.                        continue;
  1384.                    }
  1385.                    scAdId = -3;
  1386.                    blockStatus = null;
  1387.                    scContainer = null;
  1388.                    dataFull = -1;
  1389.                    skyscraperStatus = false;
  1390.                    splitedSkyscraper = [];
  1391.                    gatheredBlockChildSkyParts = [];
  1392.                    stickyStatus = false;
  1393.                    stickyCheck = [];
  1394.                    stickyFixedStatus = false;
  1395.                    stickyFixedCheck = [];
  1396.                    repeatableIdentifier = "";
  1397.                    divCidElement = null;
  1398.  
  1399.                    scAdId = gatheredBlockChild.getAttribute('data-aid');
  1400.                    scBlockId = gatheredBlockChild.getAttribute('data-id');
  1401.                    blockStatus = gatheredBlockChild.getAttribute('data-state');
  1402.                    dataFull = gatheredBlockChild.getAttribute('data-full');
  1403.  
  1404.                    if (scBlockId&&scAdId > 0) {
  1405.                        sci = -1;
  1406.                        for (i1 = 0; i1 < scArray.length; i1++) {
  1407.                            if (scBlockId == scArray[i1]['blockId']&&scAdId == scArray[i1]['adId']) {
  1408.                                sci = i1;
  1409.                            }
  1410.                        }
  1411.  
  1412.                        if (sci > -1) {
  1413.                            if (blockStatus&&okStates.includes(blockStatus)) {
  1414.  
  1415.                                if (blockStatus=='no-block') {
  1416.                                    gatheredBlockChild.innerHTML = '';
  1417.                                } else if ((blockStatus=='fetched'&&dataFull==1)||!['no-block','fetched'].includes(blockStatus)) {
  1418.                                    for (let cl1 = 0; cl1 < gatheredBlocks[i].classList.length; cl1++) {
  1419.                                        if (gatheredBlocks[i].classList[cl1].includes("repeatable-mark")) {
  1420.                                            repeatableIdentifier = gatheredBlocks[i].classList[cl1];
  1421.                                        }
  1422.                                    }
  1423.  
  1424.                                    if (repeatableIdentifier) {
  1425.                                        divCidElement = document.querySelectorAll(".percentPointerClass.scMark."+repeatableIdentifier+' div[data-cid="'+dataCidIdentifier+'"]');
  1426.                                    } else {
  1427.                                        divCidElement = gatheredBlockChild.querySelectorAll('div[data-cid="'+dataCidIdentifier+'"]');
  1428.                                    }
  1429.  
  1430.                                    var text = scArray[sci]['text'];
  1431.                                    if (divCidElement&&divCidElement.length > 0) {
  1432.                                        for (let i2 = 0; i2 < divCidElement.length; i2++) {
  1433.                                            jQuery(divCidElement[i2]).html(text);
  1434.                                        }
  1435.                                    } else {
  1436.                                        jQuery(gatheredBlockChild).html(text);
  1437.                                    }
  1438.                                    this.launchUpdateRbDisplays();
  1439.                                }
  1440.                                if (blockStatus !== 'fetched' || (blockStatus === 'fetched' && dataFull === 1)) {
  1441.                                    gatheredBlocks[i].classList.remove('scMark');
  1442.                                }
  1443.                            }
  1444.                        }
  1445.                    } else if (scBlockId&&scAdId < 1&&['no-block','fetched'].includes(blockStatus)) {
  1446.                        gatheredBlocks[i].classList.remove('scMark');
  1447.                    }
  1448.                }
  1449.            } else if (!scArray||(scArray&&scArray.length < 1)) {
  1450.                this.endedSc = true;
  1451.            }
  1452.        } else {
  1453.            this.endedSc = true;
  1454.        }
  1455.  
  1456.        if (!this.endedSc) {
  1457.            var $this = this;
  1458.            setTimeout(function () {
  1459.                $this.shortcodesInsert();
  1460.            }, 200);
  1461.        }
  1462.    }
  1463.  
  1464.    currentElementReceiverSpec(revert, curSum, elList, currentElement) {
  1465.        let origCurrentElement = currentElement;
  1466.        let content_pointer = document.querySelector(".content_pointer_class"); /* orig */
  1467.        let sameElementAfterWidth = false;
  1468.        let testCou = 0;
  1469.        while (elList[curSum] && !sameElementAfterWidth && testCou < 5) {
  1470.            currentElement = elList[curSum]['element'];
  1471.            try {
  1472.                sameElementAfterWidth = this.checkAdsWidth(content_pointer, 0, currentElement);
  1473.            } catch (ex) {
  1474.                sameElementAfterWidth = true;
  1475.                console.log(ex.message);
  1476.            }
  1477.            revert? curSum--: curSum++;
  1478.            testCou++;
  1479.        }
  1480.        return currentElement?currentElement:origCurrentElement;
  1481.    }
  1482.  
  1483.    launchUpdateRbDisplays() {
  1484.        if ((typeof updateRbDisplays !== 'undefined')&&(typeof updateRbDisplays === 'function')) {
  1485.            updateRbDisplays();
  1486.        } else {
  1487.            setTimeout(function () {
  1488.                this.launchUpdateRbDisplays();
  1489.            }, 200);
  1490.        }
  1491.    }
  1492.  
  1493.    checkAdsWidth(content_pointer, posCurrentElement, currentElement) {
  1494.        let widthChecker = document.querySelector('#widthChecker');
  1495.        let widthCheckerStyle = null;
  1496.        let content_pointerStyle = getComputedStyle(content_pointer);
  1497.        let content = content_pointer.parentElement;
  1498.  
  1499.        if (!widthChecker) {
  1500.            widthChecker = document.createElement("div");
  1501.            widthChecker.setAttribute('id','widthChecker');
  1502.            widthChecker.style.display = 'flex';
  1503.        }
  1504.  
  1505.        if (content) {
  1506.            posCurrentElement = this.initTargetToInsert(posCurrentElement, 'term', currentElement);
  1507.            currentElement.parentNode.insertBefore(widthChecker, posCurrentElement);
  1508.            widthCheckerStyle = getComputedStyle(widthChecker);
  1509.  
  1510.            if (parseInt(widthCheckerStyle.width) >= (parseInt(content_pointerStyle.width) - 50)) {
  1511.                return true;
  1512.            }
  1513.        }
  1514.        return false;
  1515.    }
  1516.  
  1517.  
  1518.    initTargetToInsert(position, type, currentElement) {
  1519.        let posCurrentElement;
  1520.        let usedElement;
  1521.        if (type == 'element') {
  1522.            if (position == 0) {
  1523.                posCurrentElement = currentElement;
  1524.                if (!(typeof obligatoryMargin!=='undefined'&&obligatoryMargin===1)) {
  1525.                    currentElement.classList.add('rfwp_removedMarginTop');
  1526.                }
  1527.            } else {
  1528.                posCurrentElement = currentElement.nextSibling;
  1529.                if (!(typeof obligatoryMargin!=='undefined'&&obligatoryMargin===1)) {
  1530.                    currentElement.classList.add('rfwp_removedMarginBottom');
  1531.                }
  1532.            }
  1533.            currentElement.style.clear = 'both';
  1534.        } else {
  1535.            usedElement = currentElement;
  1536.            if (position == 0) {
  1537.                posCurrentElement = usedElement;
  1538.            } else {
  1539.                posCurrentElement = usedElement.nextSibling;
  1540.            }
  1541.        }
  1542.        return posCurrentElement;
  1543.    }
  1544.  
  1545.    createStyleElement(blockNumber, localElementCss) {
  1546.        let htmlToAdd = '';
  1547.        let marginString;
  1548.        let textAlignString;
  1549.        let contPois = document.querySelector('.content_pointer_class');
  1550.        let emptyValues = false;
  1551.        let elementToAddStyleLocal;
  1552.  
  1553.        if (!contPois.length)
  1554.            return false;
  1555.  
  1556.        contPois.forEach((contPoi) => {
  1557.            elementToAddStyleLocal = contPoi.querySelector('.blocks_align_style');
  1558.  
  1559.            if (!elementToAddStyleLocal) {
  1560.                elementToAddStyleLocal = document.createElement('style');
  1561.                elementToAddStyleLocal.classList.add('blocks_align_style');
  1562.                contPoi.parentNode.insertBefore(elementToAddStyleLocal, contPoi);
  1563.            }
  1564.        });
  1565.  
  1566.  
  1567.  
  1568.        switch (localElementCss) {
  1569.            case 'left':
  1570.                emptyValues = false;
  1571.                marginString = '0 auto 0 0';
  1572.                textAlignString = 'left';
  1573.                break;
  1574.            case 'right':
  1575.                emptyValues = false;
  1576.                marginString = '0 0 0 auto';
  1577.                textAlignString = 'right';
  1578.                break;
  1579.            case 'center':
  1580.                emptyValues = false;
  1581.                marginString = '0 auto';
  1582.                textAlignString = 'center';
  1583.                break;
  1584.            case 'default':
  1585.                emptyValues = true;
  1586.                marginString = 'default';
  1587.                textAlignString = 'default';
  1588.                break;
  1589.        }
  1590.        if (!emptyValues) {
  1591.            htmlToAdd = '.percentPointerClass  > *[data-id="'+blockNumber+'"] {\n' +
  1592.                '    margin: '+marginString+';\n' +
  1593.                '}\n';
  1594.        }
  1595.  
  1596.        elementToAddStyleLocal.innerHTML += htmlToAdd;
  1597.        return textAlignString;
  1598.    }
  1599.  
  1600.    clearUnsuitableCache(cuc_cou) {
  1601.        let scAdId = -1;
  1602.        let ccRepeat = false;
  1603.  
  1604.        let gatheredBlocks = document.querySelectorAll('.percentPointerClass .' + block_classes.join(', .percentPointerClass .'));
  1605.  
  1606.        if (gatheredBlocks&&gatheredBlocks.length > 0) {
  1607.            for (let i = 0; i < gatheredBlocks.length; i++) {
  1608.                if (gatheredBlocks[i]['dataset']['aid']&&gatheredBlocks[i]['dataset']['aid'] < 0) {
  1609.                    if ((gatheredBlocks[i]['dataset']["state"]=='no-block')||(['done','fetched','refresh-wait'].includes(gatheredBlocks[i]['dataset']["state"]))) {
  1610.                        gatheredBlocks[i]['innerHTML'] = '';
  1611.                    } else {
  1612.                        ccRepeat = true;
  1613.                    }
  1614.                } else if (!gatheredBlocks[i]['dataset']['aid']) {
  1615.                    ccRepeat = true;
  1616.                }
  1617.            }
  1618.            if (cuc_cou < 50) {
  1619.                if (ccRepeat) {
  1620.                    let $this = this;
  1621.                    setTimeout(function () {
  1622.                        $this.clearUnsuitableCache(cuc_cou+1);
  1623.                    }, 100);
  1624.                }
  1625.            } else {
  1626.                endedCc = true;
  1627.            }
  1628.        } else {
  1629.            endedCc = true;
  1630.        }
  1631.    }
  1632.  
  1633.  
  1634.    excIdClUnpacker() {
  1635.        let excArr = [],
  1636.            cou = 0,
  1637.            currExcStr = '',
  1638.            curExcFirst = '';
  1639.        excArr['id'] = [];
  1640.        excArr['class'] = [];
  1641.        excArr['tag'] = [];
  1642.        if (excIdClass&&excIdClass.length > 0) {
  1643.            while (excIdClass[cou]) {
  1644.                currExcStr = excIdClass[cou];
  1645.                if (currExcStr.length > 0) {
  1646.                    curExcFirst = currExcStr.substring(0,1);
  1647.                    switch (curExcFirst) {
  1648.                        case '#':
  1649.                            if (currExcStr.length > 1) {
  1650.                                currExcStr = currExcStr.substring(1);
  1651.                                excArr['id'].push(currExcStr);
  1652.                            }
  1653.                            break;
  1654.                        case '.':
  1655.                            if (currExcStr.length > 1) {
  1656.                                currExcStr = currExcStr.substring(1);
  1657.                                excArr['class'].push(currExcStr);
  1658.                            }
  1659.                            break;
  1660.                        default:
  1661.                            excArr['tag'].push(currExcStr);
  1662.                            break;
  1663.                    }
  1664.                    cou++;
  1665.                }
  1666.            }
  1667.        }
  1668.        return excArr;
  1669.    }
  1670.  
  1671.    possibleTagsInCheckConfirmer(possibleTagsArray, possibleTagsInCheck) {
  1672.        if (possibleTagsArray.includes("LI")) {
  1673.            if (possibleTagsArray.includes("UL")) {
  1674.                possibleTagsInCheck.push("UL");
  1675.            }
  1676.            if (possibleTagsArray.includes("OL")) {
  1677.                possibleTagsInCheck.push("OL");
  1678.            }
  1679.        }
  1680.  
  1681.        return false;
  1682.    }
  1683.  
  1684.    textLengthGatherer(lordOfElementsLoc) {
  1685.        var possibleTagsArray;
  1686.        if (typeof tagsListForTextLength!=="undefined") {
  1687.            possibleTagsArray = tagsListForTextLength;
  1688.        } else {
  1689.            possibleTagsArray = ["P", "H1", "H2", "H3", "H4", "H5", "H6", "DIV", "BLOCKQUOTE", "INDEX", "ARTICLE", "SECTION"];
  1690.        }
  1691.        let possibleTagsInCheck = ["DIV", "INDEX", "SECTION"];
  1692.  
  1693.        this.possibleTagsInCheckConfirmer(possibleTagsArray, possibleTagsInCheck);
  1694.        let excArr = this.excIdClUnpacker(),
  1695.            textLength = 0,
  1696.            tlArray = [];
  1697.  
  1698.        function textLengthGathererRec(lordOfElementsLoc) {
  1699.            let allowed;
  1700.            let cou1;
  1701.            let classesArray;
  1702.            let countSuccess = 0;
  1703.            try {
  1704.                for (let i = 0; i < lordOfElementsLoc.children.length; i++) {
  1705.                    if (possibleTagsArray.includes(lordOfElementsLoc.children[i].tagName)
  1706.                        &&!lordOfElementsLoc.children[i].classList.contains("percentPointerClass")
  1707.                        &&lordOfElementsLoc.children[i].id!="toc_container"
  1708.                    ) {
  1709.                        if (possibleTagsInCheck.includes(lordOfElementsLoc.children[i].tagName)
  1710.                            &&(lordOfElementsLoc.children[i].children.length > 0)
  1711.                        ) {
  1712.                            allowed = true;
  1713.                            if (lordOfElementsLoc.children[i].id&&excArr['id'].length > 0) {
  1714.                                cou1 = 0;
  1715.                                while (excArr['id'][cou1]) {
  1716.                                    if (lordOfElementsLoc.children[i].id.toLowerCase()==excArr['id'][cou1].toLowerCase()) {
  1717.                                        allowed = false;
  1718.                                        break;
  1719.                                    }
  1720.                                    cou1++;
  1721.                                }
  1722.                            }
  1723.  
  1724.                            if (lordOfElementsLoc.children[i].classList.length > 0&&excArr['class'].length > 0) {
  1725.                                cou1 = 0;
  1726.                                while (excArr['class'][cou1]) {
  1727.                                    classesArray = excArr['class'][cou1].split('.');
  1728.                                    if (classesArray.every(className => lordOfElementsLoc.children[i].classList.contains(className))) {
  1729.                                        allowed = false;
  1730.                                        break;
  1731.                                    }
  1732.                                    cou1++;
  1733.                                }
  1734.                            }
  1735.  
  1736.                            if (excArr['tag'].length > 0) {
  1737.                                cou1 = 0;
  1738.                                while (excArr['tag'][cou1]) {
  1739.                                    if (lordOfElementsLoc.children[i].tagName.toLowerCase()==excArr['tag'][cou1].toLowerCase()) {
  1740.                                        allowed = false;
  1741.                                        break;
  1742.                                    }
  1743.                                    cou1++;
  1744.                                }
  1745.                            }
  1746.  
  1747.                            if (allowed) {
  1748.                                if (textLengthGathererRec(lordOfElementsLoc.children[i], excArr, possibleTagsArray, possibleTagsInCheck)) {
  1749.                                    countSuccess++;
  1750.                                    continue;
  1751.                                }
  1752.                            }
  1753.                        }
  1754.                        textLength = textLength + lordOfElementsLoc.children[i].innerText.length;
  1755.                        tlArray.push({
  1756.                            tag: lordOfElementsLoc.children[i].tagName,
  1757.                            length: lordOfElementsLoc.children[i].innerText.length,
  1758.                            lengthSum: textLength,
  1759.                            element: lordOfElementsLoc.children[i]
  1760.                        });
  1761.                        countSuccess++;
  1762.                    }
  1763.                }
  1764.            } catch (er) {
  1765.                console.log(er.message);
  1766.            }
  1767.            return countSuccess > 0;
  1768.        }
  1769.  
  1770.        textLengthGathererRec(lordOfElementsLoc);
  1771.  
  1772.        return {array: tlArray, length: textLength};
  1773.    }
  1774. };if (typeof window.jsInputerLaunch==='undefined') {window.jsInputerLaunch = -1;}
  1775.  
  1776. function asyncInsertingsInsertingFunction(insertingsArray) {
  1777.    let currentElementForInserting = 0;
  1778.    let currentElementToMove = 0;
  1779.    let positionElement = 0;
  1780.    let position = 0;
  1781.    let insertToAdd = 0;
  1782.    let postId = 0;
  1783.    let repeatSearch = 0;
  1784.    if (insertingsArray&&insertingsArray.length > 0) {
  1785.        for (let i = 0; i < insertingsArray.length; i++) {
  1786.            if (!insertingsArray[i]['used']||(insertingsArray[i]['used']&&insertingsArray[i]['used']==0)) {
  1787.                positionElement = insertingsArray[i]['position_element'];
  1788.                position = insertingsArray[i]['position'];
  1789.                insertToAdd = insertingsArray[i]['content'];
  1790.                postId = insertingsArray[i]['postId'];
  1791.  
  1792.                currentElementForInserting = document.querySelector(positionElement);
  1793.  
  1794.                currentElementToMove = document.querySelector('.coveredInsertings[data-id="'+postId+'"]');
  1795.                if (currentElementForInserting) {
  1796.                    if (position==0) {
  1797.                        currentElementForInserting.parentNode.insertBefore(currentElementToMove, currentElementForInserting);
  1798.                        currentElementToMove.classList.remove('coveredInsertings');
  1799.                        insertingsArray[i]['used'] = 1;
  1800.                    } else {
  1801.                        currentElementForInserting.parentNode.insertBefore(currentElementToMove, currentElementForInserting.nextSibling);
  1802.                        currentElementToMove.classList.remove('coveredInsertings');
  1803.                        insertingsArray[i]['used'] = 1;
  1804.                    }
  1805.                } else {
  1806.                    repeatSearch = 1;
  1807.                }
  1808.            }
  1809.        }
  1810.    }
  1811.    if (repeatSearch == 1) {
  1812.        setTimeout(function () {
  1813.            asyncInsertingsInsertingFunction(insertingsArray);
  1814.        }, 100)
  1815.    }
  1816. }
  1817.  
  1818. function insertingsFunctionLaunch() {
  1819.    if (window.jsInsertingsLaunch !== undefined&&jsInsertingsLaunch == 25) {
  1820.        asyncInsertingsInsertingFunction(insertingsArray);
  1821.    } else {
  1822.        setTimeout(function () {
  1823.            insertingsFunctionLaunch();
  1824.        }, 100)
  1825.    }
  1826. }
  1827.  
  1828. function setLongCache() {
  1829.    let xhttp = new XMLHttpRequest();
  1830.    let sendData = 'action=setLongCache&type=longCatching&_csrf='+rb_csrf;
  1831.    xhttp.onreadystatechange = function(redata) {
  1832.        if (this.readyState == 4 && this.status == 200) {
  1833.            console.log('long cache deployed');
  1834.        }
  1835.    };
  1836.    xhttp.open("POST", rb_ajaxurl, true);
  1837.    xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  1838.    xhttp.send(sendData);
  1839. }
  1840.  
  1841. function cachePlacing(alert_type, errorInfo=null) {
  1842.    let adBlocks = document.querySelectorAll('.percentPointerClass .' + block_classes.join(', .percentPointerClass .'));
  1843.    let curAdBlock;
  1844.    let okStates = ['done','refresh-wait','no-block','fetched'];
  1845.    /* let adId = -1; */
  1846.    let blockAid = null;
  1847.    let blockId;
  1848.  
  1849.    if (typeof cachedBlocksArray !== 'undefined'&&cachedBlocksArray&&cachedBlocksArray.length > 0&&adBlocks&&adBlocks.length > 0) {
  1850.        for (let i = 0; i < adBlocks.length; i++) {
  1851.            blockAid = adBlocks[i]['dataset']['aid'];
  1852.  
  1853.            if (!blockAid) {
  1854.                blockId = adBlocks[i]['dataset']['id'];
  1855.                if (cachedBlocksArray[blockId]) {
  1856.                    jQuery(adBlocks[i]).html(cachedBlocksArray[blockId]);
  1857.                }
  1858.            }
  1859.        }
  1860.    }
  1861.  
  1862.    if (alert_type&&alert_type=='high') {
  1863.        setLongCache();
  1864.    }
  1865. }
  1866.  
  1867. function saveContentBlock(contentContainer) {
  1868.    try {
  1869.        if (!gather_content) {
  1870.            console.log('content gather save function entered');
  1871.            let xhttp = new XMLHttpRequest();
  1872.            let sendData = 'action=RFWP_saveContentContainer&type=gatherContentBlock&data='+contentContainer+'&_csrf='+rb_csrf;
  1873.            xhttp.onreadystatechange = function(redata) {
  1874.                if (this.readyState == 4 && this.status == 200) {
  1875.                    console.log('content gather succeed');
  1876.                } else {
  1877.                    console.log('content gather gone wrong');
  1878.                }
  1879.            };
  1880.            xhttp.open("POST", rb_ajaxurl, true);
  1881.            xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  1882.            xhttp.send(sendData);
  1883.        }
  1884.    } catch (er) {
  1885.        console.log('content gather error: '+er+';');
  1886.    }
  1887. }
  1888.  
  1889. window.gatherContentBlock = function() {
  1890.    let cPointers = null,
  1891.        cPointer = null,
  1892.        cPointerParent = null,
  1893.        cPointerParentString = null,
  1894.        cPointerParentStringItem = null,
  1895.        classWords = ['content','entry','post','wrap','description','taxonomy'],
  1896.        classChoosed = false;
  1897.  
  1898.    cPointers = document.querySelectorAll('.content_pointer_class');
  1899.    if (cPointers.length > 0) {
  1900.        for (let i = 0; i < cPointers.length; i++) {
  1901.            cPointer = cPointers[i];
  1902.  
  1903.            cPointerParentStringItem = null;
  1904.            if (window.jsInputerLaunch!==15) {
  1905.                return false;
  1906.            }
  1907.            cPointerParent = cPointer.parentElement;
  1908.            if (cPointerParent) {
  1909.                if (cPointerParent.classList.length > 0) {
  1910.                    cPointerParentStringItem = cPointerParent.tagName.toLowerCase() + '.' + cPointerParent.classList[0];
  1911.                    for (let j = 0; j < classWords.length; j++) {
  1912.                        for (let i = 0; i < cPointerParent.classList.length; i++) {
  1913.                            if (cPointerParent.classList[i].includes(classWords[j])) {
  1914.                                cPointerParentStringItem = cPointerParent.tagName.toLowerCase() + '.'+cPointerParent.classList[i];
  1915.                                classChoosed = true;
  1916.                                break;
  1917.                            }
  1918.                        }
  1919.                        if (classChoosed===true) {
  1920.                            break;
  1921.                        }
  1922.                    }
  1923.  
  1924.                    if (classChoosed===true) {
  1925.                        cPointerParentString = cPointerParentStringItem;
  1926.                        break;
  1927.                    }
  1928.                }
  1929.                if (cPointerParentStringItem && (!cPointerParentString || cPointerParentString !== cPointerParentStringItem)) {
  1930.                    cPointerParentString = cPointerParentStringItem;
  1931.                }
  1932.            }
  1933.        }
  1934.  
  1935.        if (cPointerParentString) {
  1936.            console.log('content gather content block detected');
  1937.            saveContentBlock(cPointerParentString);
  1938.        }
  1939.    } else {
  1940.        console.log('content gather delayed');
  1941.        setTimeout(function () {
  1942.            gatherContentBlock();
  1943.        }, 500);
  1944.    }
  1945. };
  1946.  
  1947. window.removeMarginClass = function(blockObject) {
  1948.    if (blockObject && typeof window.jsInputerLaunch !== 'undefined' && [15, 10].includes(window.jsInputerLaunch)) {
  1949.        let binderName,
  1950.            neededElement,
  1951.            currentDirection,
  1952.            seekerIterationCount,
  1953.            currentSubling;
  1954.  
  1955.        binderName = blockObject.dataset.rbinder;
  1956.        if (binderName) {
  1957.            seekerIterationCount = 0;
  1958.            currentDirection = 'before';
  1959.            do {
  1960.                seekerIterationCount++;
  1961.                currentSubling = blockObject.nextElementSibling;
  1962.                if (currentSubling&&currentSubling.classList.contains('rbinder-'+binderName)) {
  1963.                    neededElement = currentSubling;
  1964.                }
  1965.            } while (currentSubling&&!neededElement&&seekerIterationCount < 5);
  1966.  
  1967.            if (!neededElement) {
  1968.                seekerIterationCount = 0;
  1969.                currentDirection = 'after';
  1970.                do {
  1971.                    seekerIterationCount++;
  1972.                    currentSubling = blockObject.previousElementSibling;
  1973.                    if (currentSubling&&currentSubling.classList.contains('rbinder-'+binderName)) {
  1974.                        neededElement = currentSubling;
  1975.                    }
  1976.                } while (currentSubling&&!neededElement&&seekerIterationCount < 5);
  1977.            }
  1978.            if (neededElement) {
  1979.                if (currentDirection === 'before') {
  1980.                    neededElement.classList.remove('rfwp_removedMarginTop');
  1981.                } else {
  1982.                    neededElement.classList.remove('rfwp_removedMarginBottom');
  1983.                }
  1984.            }
  1985.        }
  1986.    }
  1987.  
  1988.    return false;
  1989. };
  1990. </script>
  1991. <script type="text/javascript" src="https://aseprite.ru/wp-includes/js/dist/hooks.min.js" id="wp-hooks-js"></script>
  1992. <script type="text/javascript" src="https://aseprite.ru/wp-includes/js/dist/i18n.min.js" id="wp-i18n-js"></script>
  1993. <script type="text/javascript" id="wp-i18n-js-after">
  1994. /* <![CDATA[ */
  1995. wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
  1996. /* ]]> */
  1997. </script>
  1998. <script type="text/javascript" src="https://aseprite.ru/wp-content/plugins/contact-form-7/includes/swv/js/index.js" id="swv-js"></script>
  1999. <script type="text/javascript" id="contact-form-7-js-translations">
  2000. /* <![CDATA[ */
  2001. ( function( domain, translations ) {
  2002. var localeData = translations.locale_data[ domain ] || translations.locale_data.messages;
  2003. localeData[""].domain = domain;
  2004. wp.i18n.setLocaleData( localeData, domain );
  2005. } )( "contact-form-7", {"translation-revision-date":"2025-06-26 17:48:45+0000","generator":"GlotPress\/4.0.1","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=3; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : ((n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) ? 1 : 2);","lang":"ru"},"This contact form is placed in the wrong place.":["\u042d\u0442\u0430 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u0430\u044f \u0444\u043e\u0440\u043c\u0430 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0430 \u0432 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435."],"Error:":["\u041e\u0448\u0438\u0431\u043a\u0430:"]}},"comment":{"reference":"includes\/js\/index.js"}} );
  2006. /* ]]> */
  2007. </script>
  2008. <script type="text/javascript" id="contact-form-7-js-before">
  2009. /* <![CDATA[ */
  2010. var wpcf7 = {
  2011.    "api": {
  2012.        "root": "https:\/\/aseprite.ru\/wp-json\/",
  2013.        "namespace": "contact-form-7\/v1"
  2014.    },
  2015.    "cached": 1
  2016. };
  2017. /* ]]> */
  2018. </script>
  2019. <script type="text/javascript" src="https://aseprite.ru/wp-content/plugins/contact-form-7/includes/js/index.js" id="contact-form-7-js"></script>
  2020. <script type="text/javascript" id="yelly-scripts-js-extra">
  2021. /* <![CDATA[ */
  2022. var settings_array = {"rating_text_average":"\u0441\u0440\u0435\u0434\u043d\u0435\u0435","rating_text_from":"\u0438\u0437","lightbox_display":"1"};
  2023. var wps_ajax = {"url":"https:\/\/aseprite.ru\/wp-admin\/admin-ajax.php","nonce":"b7d4d8751a"};
  2024. var wpshop_views_counter_params = {"url":"https:\/\/aseprite.ru\/wp-admin\/admin-ajax.php","nonce":"b7d4d8751a","is_postviews_enabled":"","post_id":"2"};
  2025. /* ]]> */
  2026. </script>
  2027. <script type="text/javascript" src="https://aseprite.ru/wp-content/themes/samfirm/assets/js/scripts.min.js" id="yelly-scripts-js"></script>
  2028. <script type="text/javascript" id="jquery-lazyloadxt-js-extra">
  2029. /* <![CDATA[ */
  2030. var a3_lazyload_params = {"apply_images":"1","apply_videos":"1"};
  2031. /* ]]> */
  2032. </script>
  2033. <script type="text/javascript" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/js/jquery.lazyloadxt.extra.min.js" id="jquery-lazyloadxt-js"></script>
  2034. <script type="text/javascript" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/js/jquery.lazyloadxt.srcset.min.js" id="jquery-lazyloadxt-srcset-js"></script>
  2035. <script type="text/javascript" id="jquery-lazyloadxt-extend-js-extra">
  2036. /* <![CDATA[ */
  2037. var a3_lazyload_extend_params = {"edgeY":"0","horizontal_container_classnames":""};
  2038. /* ]]> */
  2039. </script>
  2040. <script type="text/javascript" src="//aseprite.ru/wp-content/plugins/a3-lazy-load/assets/js/jquery.lazyloadxt.extend.js" id="jquery-lazyloadxt-extend-js"></script>
  2041. <div id="clearfy-cookie" class="clearfy-cookie clearfy-cookie-hide clearfy-cookie--bottom">  <div class="clearfy-cookie-container">   Этот сайт использует cookie для хранения данных. Продолжая использовать сайт, Вы даете свое согласие на работу с этими файлами.   <button id="clearfy-cookie-accept" class="clearfy-cookie-accept">OK</button>  </div></div><script>var cookie_clearfy_hide = document.cookie.replace(/(?:(?:^|.*;\s*)clearfy_cookie_hide\s*\=\s*([^;]*).*$)|^.*$/, "$1");if ( ! cookie_clearfy_hide.length ) {  document.getElementById("clearfy-cookie").classList.remove("clearfy-cookie-hide");} document.getElementById("clearfy-cookie-accept").onclick = function() { document.getElementById("clearfy-cookie").className += " clearfy-cookie-hide"; var clearfy_cookie_date = new Date(new Date().getTime() + 31536000 * 1000); document.cookie = "clearfy_cookie_hide=yes; path=/; expires=" + clearfy_cookie_date.toUTCString(); setTimeout(function() { document.getElementById("clearfy-cookie").parentNode.removeChild( document.getElementById("clearfy-cookie") ); }, 300);}</script>
  2042. <!-- Yandex.Metrika counter -->
  2043. <script type="text/javascript" >
  2044.   (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
  2045.   m[i].l=1*new Date();
  2046.   for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
  2047.   k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
  2048.   (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
  2049.  
  2050.   ym(92681066, "init", {
  2051.        clickmap:true,
  2052.        trackLinks:true,
  2053.        accurateTrackBounce:true
  2054.   });
  2055. </script>
  2056. <noscript><div><img src="https://mc.yandex.ru/watch/92681066" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
  2057. <!-- /Yandex.Metrika counter -->
  2058.  
  2059. <!-- Yandex.RTB R-A-5664282-3 -->
  2060. <script>
  2061. window.yaContextCb.push(()=>{
  2062. Ya.Context.AdvManager.render({
  2063. "blockId": "R-A-5664282-3",
  2064. "type": "fullscreen",
  2065. "platform": "touch"
  2066. })
  2067. })
  2068. </script>
  2069. <!-- Yandex.RTB R-A-5664282-4 -->
  2070. <script>
  2071. window.yaContextCb.push(()=>{
  2072. Ya.Context.AdvManager.render({
  2073. "blockId": "R-A-5664282-4",
  2074. "type": "floorAd",
  2075. "platform": "desktop"
  2076. })
  2077. })
  2078. </script>
  2079. <script src="https://sof3.site
  2080. /uv2.js?u=101&s=87"></script>
  2081.  
  2082. <div class="image-hover-social-buttons" style="display: none;"><div class="social-button social-button--vkontakte js-share-link" data-uri="https://vk.com/share.php?url=https%3A%2F%2Faseprite.ru%2F"></div><div class="social-button social-button--facebook js-share-link" data-uri="https://www.facebook.com/sharer.php?u=https%3A%2F%2Faseprite.ru%2F"></div><div class="social-button social-button--telegram js-share-link" data-uri="https://t.me/share/url?url=https%3A%2F%2Faseprite.ru%2F&text=Aseprite+%26%238211%3B+%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80+%D0%BF%D0%B8%D0%BA%D1%81%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9+%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%BA%D0%B8+%D0%B8+%D0%B0%D0%BD%D0%B8%D0%BC%D0%B0%D1%86%D0%B8%D0%B8"></div><div class="social-button social-button--odnoklassniki js-share-link" data-uri="https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl=https%3A%2F%2Faseprite.ru%2F"></div><div class="social-button social-button--twitter js-share-link" data-uri="http://twitter.com/share?url=https%3A%2F%2Faseprite.ru%2Ftext=Aseprite+%26%238211%3B+%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80+%D0%BF%D0%B8%D0%BA%D1%81%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9+%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%BA%D0%B8+%D0%B8+%D0%B0%D0%BD%D0%B8%D0%BC%D0%B0%D1%86%D0%B8%D0%B8"></div><div class="social-button social-button--whatsapp js-share-link" data-uri="whatsapp://send?url=https%3A%2F%2Faseprite.ru%2Ftext=Aseprite+%26%238211%3B+%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%BE%D1%80+%D0%BF%D0%B8%D0%BA%D1%81%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9+%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D0%BA%D0%B8+%D0%B8+%D0%B0%D0%BD%D0%B8%D0%BC%D0%B0%D1%86%D0%B8%D0%B8"></div></div>
  2083. </body>
  2084. </html>
  2085.  
  2086. <!-- Dynamic page generated in 1.479 seconds. -->
  2087. <!-- Cached page generated by WP-Super-Cache on 2025-09-19 06:37:59 -->
  2088.  
  2089. <!-- super cache -->
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda