250x250
Rainbow๐ŸŒˆCoder
My dev Note๐Ÿ“’
Rainbow๐ŸŒˆCoder
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (411)
    • ๊ณต์ง€์‚ฌํ•ญ (0)
    • Debugger (10)
      • Visual Studio Debugger (1)
      • Chrome DevTools (3)
      • Visual Studio Code Debugger (4)
      • eclipse (1)
      • intelliJ (1)
    • OOP (2)
      • OOP (2)
    • TypeScript (54)
      • ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ TypeScript (54)
    • Javascript (87)
      • Javascript (45)
      • Node.js (19)
      • React (5)
      • FE ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ค์ • (3)
      • React์™€ Node ๊ฐ™์ด ๋•Œ๋ ค์žก๊ธฐ (6)
      • next.js (2)
      • pixi.js (7)
    • ๋งˆํฌ์—… (23)
      • Html & Css (23)
    • C# (80)
      • C# (12)
      • ์ด๊ฒƒ์ด C#์ด๋‹ค (68)
    • C++ (30)
      • c++ (27)
      • win api (3)
    • Unity (18)
      • Unity(๊ธฐ์ดˆ) (8)
      • Unity(C#์ค‘๊ธ‰) (5)
      • ์œ ๋‹ˆํ‹ฐ ํฌํ†ค(๋„คํŠธ์›Œํฌ) (4)
      • unity c# MyCode (1)
    • Java & Spring (29)
      • Java (11)
      • ์Šคํ”„๋ง (8)
      • Java Algorithm (9)
      • Javs Data Structures (1)
    • ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (15)
      • ์ž๋ฃŒ๊ตฌ์กฐ (5)
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜ (10)
    • ํ˜•์ƒ๊ด€๋ฆฌ (15)
      • Git (11)
      • ์†Œ์ŠคํŠธ๋ฆฌ (3)
    • ๊ทธ๋ž˜ํ”ฝ์Šค (7)
      • WebGl (7)
    • AWS (3)
      • aws (3)
    • ๋ฆฌ๋ˆ…์Šค (5)
      • ๋ฆฌ๋ˆ…์Šค (5)
    • ์ฑ… ๋ฆฌ๋ทฐ (13)
      • ํด๋ฆฐ์ฝ”๋“œ(์ฑ…๋ฆฌ๋ทฐ) (3)
      • ์œ ์ง€๋ณด์ˆ˜๊ฐ€๋Šฅํ•œ์ฝ”๋”ฉ์˜๊ธฐ์ˆ C#ํŽธ(์ฑ…๋ฆฌ๋ทฐ) (1)
      • ๋ฆฌํŒฉํ† ๋ง(์ž๋ฐ”์Šคํฌ๋ฆฝํŠธํŒ) (9)
    • Server (2)
      • ๊ฒŒ์ž„ ์„œ๋ฒ„(๋„คํŠธ์›Œํฌ, ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ,OS) (2)
    • ์„ค๊ณ„, ์•„ํ‚คํ…์ณ (4)
    • ํŒŒ์ด์ฌ (5)
    • ๋””์ž์ธํŒจํ„ด (2)
    • mocha (2)
    • Jest (1)
    • Spine (1)
    • ์ธ๊ณต์ง€๋Šฅ (1)
      • ํ˜ผ์ž๊ณต๋ถ€ํ•˜๋Š”๋จธ์‹ ๋Ÿฌ๋‹+๋”ฅ๋Ÿฌ๋‹ (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • MySQL
  • ์œ„์ž„
  • ์ปดํฌ์ง€์…˜
  • ใ…ฃใ„ท

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
Rainbow๐ŸŒˆCoder

My dev Note๐Ÿ“’

[Pixi.js] ํ™˜๊ฒฝ์„ค์ •๊ณผ PIXI ๊ฐ์ฒด ์‚ดํŽด๋ณด๊ธฐ
Javascript/pixi.js

[Pixi.js] ํ™˜๊ฒฝ์„ค์ •๊ณผ PIXI ๊ฐ์ฒด ์‚ดํŽด๋ณด๊ธฐ

2022. 12. 21. 16:08
728x90

git init

 

npm install pixi.js

 

index.html์—์„œ ์•„๋ž˜ ์ถ”๊ฐ€

<script src="./node_modules/pixi.js/dist/pixi.min.js"></script>

ํ•ด์ฃผ๊ฑฐ๋‚˜ npm์œผ๋กœ ๋‹ค์šด๋ฐ›์ง€ ์•Š๋”๋ผ๋„ ์•„๋ž˜ ๋ผ์ธ์„ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

<script src="https://pixijs.download/release/pixi.js"></script>

 

 

index.html

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>PIXI TUTORIAL</title>
</head>
<body>
	<script src="./node_modules/pixi.js/dist/pixi.min.js"></script>
	<!--npm install pixi.js ๋Œ€์ฒด์šฉ <script src="https://pixijs.download/release/pixi.js"></script>-->
	<script src="./app.js" defer></script>
	<header>
	<img src="https://pixijs.download/pixijs-banner-no-version.png"/>
	<h1>PIXI STUDY</h1>
</header>

<form>
	<select>
		<option value="PIXI1">1</option>
		<option value="PIXI2">2</option>
		<option value="PIXI3">3</option>
		<br>
	</select>
</form>
<main>
<section>
<ul>
	<li>
		<p>
			<span>
				2022๋…„ 12์›” 21์ผ
			<span>
			PIXI ํ™˜๊ฒฝ์„ค์ •๊ณผ ๊ธฐ๋ณธ ์†์„ฑ ํ•™์Šต
			<a href = "https://www.youtube.com/watch?v=ajaduDDePIY" target="_blank">(Source1)</a>
			<a href = "https://www.youtube.com/watch?v=_HjQTzpbRK4&list=PLGsA9l-S7trVmUJ7HJsNSKIj0qoAO_qO8&index=1" target="_blank">(Source2)</a>
		</p>
	</li>
</ul>
</section>
</main>
</body>
</html>

์œ„์™€ ๊ฐ™์ด ์˜ˆ์‹œ ์ฝ”๋“œ ์ž‘์„ฑ

 

app.js

const Application = PIXI.Application;
const app = new Application();

์—ฌ๊ธฐ๊นŒ์ง€ ํ•ด์ค€ ๋’ค, 

์ฝ˜์†”์— PIXI๋ฅผ ์ž‘์„ฑํ•˜๋ฉด,

์ž˜ ๋œฌ๋‹ค.

ํŽผ์ณ๋ณด๋„๋ก ํ•œ๋‹ค.

์—„์ฒญ๋‚˜๊ฒŒ ๋งŽ์ด ๋‚˜์˜จ๋‹ค...๐Ÿ‘

 

์ด์ œ ์‹ค๋ฌด์—์„œ ํ”ฝ์‹œ๋Š” 

export default class ๊ณ ์–‘์ดํŒ์—… extends ๊ธฐ๋ณธํŒ์—… {
	app: PIXI.Application | null;
    clickEventHandler!: (e: any) => void;
    
    constructor(parent?: any, options?: any) {
		super(parent, options);
		this.app = null;
	}

	destroy() {
		this.app!.view.parentElement!.removeEventListener("mousemove", this.clickEventHandler);
		super.destroy();
	}
}

์œ„์™€ ๊ฐ™์ด ์“ฐ์—ฌ์งˆ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

 

PIXI.Application์€ ํด๋ž˜์Šค์ด๋‹ค.

class {

    constructor(i){

         this.stage = new ....

    }

renderer... ๋“ฑ๋“ฑ์ด ๋‹ด๊ฒจ์ ธ ์žˆ๋Š” ๊ฒƒ์ด ๋ณด์ธ๋‹ค.

 

์ฝ˜์†”์—์„œ ์กฐ๊ธˆ ๋” ๋šœ๋“œ๋ ค๋ณธ๋‹ค.

stage, renderer, ticker

์ฆ‰ Application์€์€ PixiJS ์ž‘์—…์„ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๋„์šฐ๋ฏธ ํด๋ž˜์Šค๋กœ,

๋ Œ๋”๋Ÿฌ๋ฅผ ๋งŒ๋“ค๊ณ , ์Šคํ…Œ์ด์ง€๋ฅผ ๋งŒ๋“ค๊ณ , ์—…๋ฐ์ดํŠธ๋ฅผ ์œ„ํ•œ ํ‹ฐ์ปค๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. 

 

์ด tempApp.view ๋ฅผ ๋›ฐ์–ด๋ณด๋ฉด canvas ํƒœ๊ทธ๊ฐ€ ์ฐํžŒ๋‹ค.

tempApp์˜ renderer -> plugins -> interaction ๊นŒ์ง€ ํŒŒ๊ณ ๋“ค์–ด๊ฐ€๋ณด์ž

ํฌ์ธํ„ฐ๋‹ค์šด, ํฌ์ธํ„ฐ๋ฌด์Šค ๋“ฑ์˜ ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ๊ฐ€ ๋ณด์ธ๋‹ค!

https://pixijs.download/dev/docs/PIXI.AnimatedSprite.html#onpointerdown
https://pixijs.download/dev/docs/PIXI.BitmapText.html#onpointermove
https://pixijs.download/dev/docs/PIXI.BitmapText.html#onpointerup

์ฝ”๋“œ ํ™œ์šฉ์˜ˆ์ œ

 

์ด pixi app์„ dom์— ์ถ”๊ฐ€ํ•ด๋ณธ๋‹ค.

 

DOM์— ๋ทฐ ์ถ”๊ฐ€

๋•Œ PIXI. ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ํด๋ž˜์Šค๋Š” ๋ Œ๋”๋Ÿฌ๋ฅผ ๋งŒ๋“ค๊ณ  ๋ Œ๋”๋งํ•  Canvas ์š”์†Œ๋ฅผ ๋นŒ๋“œ. PixiJS๋กœ ๊ทธ๋ฆฌ๋Š” ๊ฒƒ์„ ๋ณด๋ ค๋ฉด ์ด Canvas ์š”์†Œ๋ฅผ ์›น ํŽ˜์ด์ง€์˜ DOM์— ์ถ”๊ฐ€. ํŽ˜์ด์ง€์˜ ์Šคํฌ๋ฆฝํŠธ ๋ธ”๋ก์— ๋‹ค์Œ ์ค„์„ ์ถ”๊ฐ€

  document.body.appendChild(app.view);

 

const Application = PIXI.Application;
const app = new Application();
document.body.appendChild(app.view);

์œ„์™€ ๊ฐ™์ด ํ•ด๋„ ๋˜๊ณ ,

์•„๋ž˜์™€ ๊ฐ™์ด ํ•ด๋„ ๋œ๋‹ค.

	let app = new PIXI.Application({width: 640, height: 360 });
	document.body.appendChild(app.view);

์‹ค๋ฌด์—์„œ๋„ ํ”ฝ์‹œ๋ฅผ ๋”ฐ๋ผ ์›ฌ๋งŒํ•ด์„œ๋Š” app์ด๋ผ๋Š” ๋ณ€์ˆ˜์— ๋‹ด๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค.

728x90

'Javascript > pixi.js' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[PIXI] ticker ์‚ฌ์šฉ๋ฐฉ๋ฒ•  (0) 2022.12.26
[PIXI] PIXI.Text์™€ PIXI.TextStyle ์‚ฌ์šฉ ๋ฐฉ๋ฒ•  (0) 2022.12.26
[PIXI] Graphic ํด๋ž˜์Šค ํ™œ์šฉํ•˜์—ฌ ๋„ํ˜•๊ทธ๋ฆฌ๊ธฐ  (0) 2022.12.26
[PIXI] app.view(์‚ฌ์‹ค์ƒ ์บ”๋ฒ„์Šค ํƒœ๊ทธ) ์†์„ฑ ์‚ดํŽด๋ณด๊ธฐ  (0) 2022.12.23
[Pixi.js] ํ”ฝ์‹œ ๊ณต๋ถ€ ์‹œ์ž‘  (0) 2022.12.21
    'Javascript/pixi.js' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [PIXI] PIXI.Text์™€ PIXI.TextStyle ์‚ฌ์šฉ ๋ฐฉ๋ฒ•
    • [PIXI] Graphic ํด๋ž˜์Šค ํ™œ์šฉํ•˜์—ฌ ๋„ํ˜•๊ทธ๋ฆฌ๊ธฐ
    • [PIXI] app.view(์‚ฌ์‹ค์ƒ ์บ”๋ฒ„์Šค ํƒœ๊ทธ) ์†์„ฑ ์‚ดํŽด๋ณด๊ธฐ
    • [Pixi.js] ํ”ฝ์‹œ ๊ณต๋ถ€ ์‹œ์ž‘
    Rainbow๐ŸŒˆCoder
    Rainbow๐ŸŒˆCoder
    ๋ชฐ๋ผ๋„ ๊ฒฐ๊ตญ์€ ์•„๋Š” ๊ฐœ๋ฐœ์ž, ๊ทธ๋Ÿฐ ์‚ฌ๋žŒ์ด ๋˜๊ธฐ ์œ„ํ•œ ๋งค์ผ์˜ ํ•œ๊ฑธ์Œ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”