--- title: "πŸ”£ ВСкст Π² PixiJS" date: 2022-08-15T01:17:22+03:00 draft: false tags: [pixijs, javascript, gamedev, tutorial] --- Π’ Π΄Π°Π½Π½ΠΎΠΌ ΡƒΡ€ΠΎΠΊΠ΅ рассмотрим ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ тСкста Π² PixiJS. Π‘Ρ€Π°Π·Ρƒ Π² Π±ΠΎΠΉ, Π΄Π΅Ρ€ΠΆΠΈ ΠΊΠΎΠ΄. ```javascript let app = new PIXI.Application({ width: 400, height: 400, backgroundColor: 0x339955 }); document.body.appendChild(app.view); const basicText = new PIXI.Text('ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тСкст'); basicText.anchor.set(0.5); basicText.x = app.screen.width / 2; basicText.y = 60; app.stage.addChild(basicText); ``` Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ выглядит просто. Π”Π°Π²Π°ΠΉ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ стилСй. ```javascript const style = new PIXI.TextStyle({ fontFamily: 'serif', fontSize: 36, fontStyle: 'italic', fontWeight: 'bold', fill: ['#ffffff', '#00ff99'], // gradient stroke: '#4a1850', strokeThickness: 5, dropShadow: true, dropShadowColor: '#000000', dropShadowBlur: 4, dropShadowAngle: Math.PI / 6, dropShadowDistance: 6, wordWrap: true, wordWrapWidth: 400, lineJoin: 'round', }); const richText = new PIXI.Text('ВСкст со всякими стилями', style); richText.anchor.set(0.5, 0); richText.x = app.screen.width / 2; richText.y = 100; app.stage.addChild(richText); ``` ΠšΡ€ΡƒΡ‚ΠΎ, Π½Π΅ ΠΏΡ€Π°Π²Π΄Π° Π»ΠΈ? А Ρ‚Ρ‹ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ» Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ тСкст автоматичСски пСрСнёсся Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½Π΅ Π²Π»Π΅Π· ΠΏΠΎ Π΄Π»ΠΈΠ½Π΅? :) Ѐантастика! По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ прСнос тСкста Π½Π΅ происходит. Π—Π° эту Ρ„ΠΈΡ‡Ρƒ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ стилСй `wordWrap`. Π‘ΠΌΠΎΡ‚Ρ€ΠΈ сколько ΠΈΡ… ΠΌΠ½ΠΎΠ³ΠΎ [PIXI.TextStyle](https://pixijs.download/dev/docs/PIXI.TextStyle.html). Π§Ρ‚ΠΎ дальшС? Π‘Π΄Π΅Π»Π°Π΅ΠΌ ΠΊΠ»ΠΈΠΊΠ°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΉ счётчик! ```javascript // Π‘ΠΎΠ·Π΄Π°ΠΌΠΈΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ тСкст const basicTextCounter = new PIXI.Text('0'); basicTextCounter.style.fontSize = 50; basicTextCounter.anchor.set(0.5); basicTextCounter.x = app.screen.width / 2; basicTextCounter.y = 275; // Π”ΠΎΠ±Π°Π²ΠΈΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π° basicTextCounter.interactive = true; basicTextCounter.cursor = 'pointer'; basicTextCounter.on('click', (event) => { // Код, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ basicTextCounter.text = parseInt(basicTextCounter.text) + 1; }); app.stage.addChild(basicTextCounter); ```