Pixi.js: 액컀λ₯Ό μ„€μ •ν•˜λ©΄ λ””μŠ€ν”Œλ ˆμ΄ 개체 μ½˜ν…μΈ κ°€ λ‹€μ‹œ κ·Έλ €μ„œλŠ” μ•ˆλ©λ‹ˆλ‹€.

에 λ§Œλ“  2018λ…„ 04μ›” 11일  Β·  4μ½”λ©˜νŠΈ  Β·  좜처: pixijs/pixi.js

μ•ˆλ…•ν•˜μ„Έμš”,

ν”Όλ²—κ³Ό 액컀가 맀우 ν˜Όλž€ μŠ€λŸ½μ§€λ§Œ, 액컀λ₯Ό 포토샡 λ˜λŠ” 이전 ν”Œλž˜μ‹œ νŽΈμ§‘κΈ°μ—μ„œ νšŒμ „ μ§€μ μœΌλ‘œ μ„€μ •ν•  μˆ˜μžˆλŠ” λ‘₯κ·Ό μ§€μ μœΌλ‘œ μƒμƒν•˜λ©΄ pixiμ—μ„œ λ°œμƒν•˜λŠ” λͺ¨λ“  λ””μŠ€ν”Œλ ˆμ΄ 객체 λ‚΄μš©μ΄ λ‹€μ‹œ κ·Έλ €μ Έ 액컀λ₯Ό μ›μ μœΌλ‘œ μ„€μ •ν•©λ‹ˆλ‹€. 포인트.

var app = new PIXI.Application(800, 600, {backgroundColor : 0x1099bb});
document.body.appendChild(app.view);

var bunny = PIXI.Sprite.fromImage('required/assets/basics/bunny.png');

var container = new PIXI.Sprite();
container.addChild(bunny);
container.x = 0;
container.y = 0;

app.stage.addChild(container);

bunny.anchor.set(0.5);
//bunny_c.pivot.set(15,5);

이 예제λ₯Ό μ‚¬μš©ν•˜λ©΄ 토끼가 νšŒμ „μ— 영ν–₯μ„μ£ΌλŠ” μ•΅μ»€κ°€μžˆμ„ κ²ƒμœΌλ‘œ μ˜ˆμƒν•˜μ§€λ§Œ λ‹€μ‹œ κ·Έλ €μ§€λŠ” 것은 μ•„λ‹™λ‹ˆλ‹€!

πŸ’Ύ v4.x (Legacy) πŸ€” Question

λͺ¨λ“  4 λŒ“κΈ€

각 μš”μ†Œμ—λŠ” μœ„μΉ˜ / νšŒμ „ / ν”Όλ²— 인 λ³€ν™˜μ΄ μžˆμŠ΅λ‹ˆλ‹€.
μŠ€ν”„λΌμ΄νŠΈμ—λŠ” 액컀가 μžˆμŠ΅λ‹ˆλ‹€. 즉, "이 ν…μŠ€μ²˜ 지점은 둜컬 μ’Œν‘œκ³„μ˜ (0,0)에 μžˆμ–΄μ•Όν•©λ‹ˆλ‹€"λΌλŠ” μ˜λ―Έμž…λ‹ˆλ‹€.

νšŒμ „ 피벗은 항상 둜컬 μ’Œν‘œκ³„μ˜ (0,0)μž…λ‹ˆλ‹€.

λ‹€λ₯Έ λ™μž‘μ„ μ›ν•˜λŠ” 경우 Transform 클래슀λ₯Ό λ³€κ²½ν•˜κ³  영ν–₯μ„λ°›λŠ” μš”μ†Œμ— λŒ€ν•΄ 패치 된 Transform의 μΈμŠ€ν„΄μŠ€λ₯Ό λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.

https://github.com/pixijs/pixi.js/blob/dev/src/core/display/TransformStatic.js
https://github.com/pixijs/pixi.js/blob/dev/src/core/sprites/Sprite.js#L174

λ˜ν•œ ν† λΌλŠ” pixi의 λͺ¨λ“  ν”„λ ˆμž„μ—μ„œ redrawn μž…λ‹ˆλ‹€. λΌμ΄λΈŒλŸ¬λ¦¬μ—λŠ” λͺ¨λ“  λ³€κ²½ 사항을 좔적 ν•  μˆ˜μžˆλŠ” λ©”μ»€λ‹ˆμ¦˜μ΄ μ—†μœΌλ©° μž‘λ™ν•©λ‹ˆλ‹€. 그렇지 μ•ŠμœΌλ©΄ 3MB 이상이 될 수 μžˆμŠ΅λ‹ˆλ‹€. :)

κ·€ν•˜μ˜ κ²½μš°μ—λŠ” 피벗을 ν† λΌμ˜ μ€‘μ‹¬μœΌλ‘œ μ„€μ •ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€. μƒμˆ˜λ‘œ μˆ˜ν–‰ν•˜κ³ ,λ‘œλ“œ 된 κ²½μš°μ—λ§Œ bunny.texture.width .

@DavidGOrtega κ°€ κ·€ν•˜μ˜ μ§ˆλ¬Έμ— λŒ€ν•œ 닡변을 λ°›μ•˜λ‹€κ³  생각

이 μŠ€λ ˆλ“œλŠ” λ‹«νžŒ ν›„ 졜근 ν™œλ™μ΄ μ—†μ—ˆκΈ° λ•Œλ¬Έμ— μžλ™μœΌλ‘œ μž κ²ΌμŠ΅λ‹ˆλ‹€. κ΄€λ ¨ 버그에 λŒ€ν•œ μƒˆ 문제λ₯Όμ—¬μ‹­μ‹œμ˜€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰