// 격발 및 μ΄μ•Œ 생성

if ((mouse_check_button(mb_left)) || (gamepad_button_check(0, gp_shoulderrb))) && (firingdelay

{

recoil = 7;

firingdelay = 10;

var i = 0;

for (i = 0; i

{

// with == μΈμŠ€ν„΄μŠ€λ₯Ό μƒμ„±ν•˜κ³  μ•„λž˜ μŠ€μ½”ν”„μ—μ„œ κ΄€λ ¨λœ μ½”λ“œλ₯Ό λ°”λ‘œ μ‹€ν–‰ν•  수 있음

with (instance_create_layer(x, y - 8, "Bullet", obj_Bullet))

{

image_xscale = 4;

image_yscale = 4;

// μƒμ„±λœ 뢈릿 μΈμŠ€ν„΄μŠ€μ˜ 속도

speed = 20;

// μƒμ„±λœ 뢈릿 μΈμŠ€ν„΄μŠ€μ˜ 각도

// other == with μŠ€μ½”ν”„ λ°–μ˜ 객체. μ§€κΈˆκ°™μ€ 경우 obj_Gun

direction = other.image_angle;

// 3발 산탄 탄퍼짐

image_angle = (direction + other.bullet_angle) - (i * other.bullet_angle);

// 탄 λ‚™μ°¨

var dir = 0;

if (other.image_angle > 90) && (other.image_angle

{

grv_dir = dir;

}

else

{

grv_dir = -dir;

}

}

}

// 탄피 생성

with (instance_create_layer(x, y, "Bullet", obj_Bullet_Shell_BuckShot))

{

image_xscale = 3;

image_yscale = 3;

image_angle = random(360);

y -= random(30);

}

// 마우슀 μ»€μ„œ λ°˜λ™

window_mouse_x = window_mouse_get_x();

window_mouse_y = window_mouse_get_y();

window_mouse_set(window_mouse_x, window_mouse_y - recoil_mouse_v);

}


마우슀 쒌클릭(지속)을 ν•˜κ³  있으면 μ΄μ•Œμ΄ λ°œμ‚¬λ˜λŠ” μ½”λ“œμž…λ‹ˆλ‹€.
μ΄μ•Œμ΄ 산탄총 처럼 3발이 각각 λ‹€λ₯Έ κ°λ„λ‘œ λ°œμ‚¬λ˜κ²Œ λ§Œλ“€λ €κ³  ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

κ·Έλž˜μ„œ for문을 3번(bullet_count κ°’) λŒλ©΄μ„œ with() λ¬Έ μ•ˆμ— μ΄μ•Œμ„ μƒμ„±ν•˜λ €κ³  μ‹œλ„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.

첫발이 15도(bullet_angleκ°’ ) κ·Έλ‹€μŒμ΄ 0도 κ·Έλ‹€μŒμ΄ -15도 μ΄λŸ°μ‹μœΌλ‘œ λ°œμ‚¬λ˜λ„λ‘ λ§Œλ“€λ €κ³  ν•˜λŠ”λ° κ²Œμž„μ„ μ‹€ν–‰μ‹œμΌœ 보면 0λ„μ—λ§Œ μ΄μ•Œμ΄ ν•œλ²ˆ λ°œμ‚¬λ˜κ³  반볡문이 μ‹€ν–‰λ˜μ§€ μ•ŠλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. 뭐가 λ¬Έμ œμΈμ§€ 잘 λͺ¨λ₯΄κ² μ–΄μ„œ μ§ˆλ¬Έμ˜¬λ €λ΄…λ‹ˆλ‹€.



----------------------------------------------------------------------

ν•΄κ²°μ™„λ£Œ.

// μƒμ„±λœ 뢈릿 μΈμŠ€ν„΄μŠ€μ˜ 각도

inst.direction = (image_angle + bullet_angle) - (i * bullet_angle);

// 3발 산탄 탄퍼짐

inst.image_angle = inst.direction

----------------------------------------------------------------------


ν›„κΈ°.

μΈμŠ€ν„΄μŠ€λ₯Ό 생성할 λ–„ with문을 μ“°μ§€ μ•Šκ³  κ·Έλƒ₯ λ³€μˆ˜λ₯Ό λ”°λ‘œ λ§Œλ“€μ–΄ μ‹λ³„μžκ°’μ„ λ‹΄μ•„ μ ‘κ·Όν•˜λ‹ˆ 훨씬 κ°„κ²°ν•΄μ‘Œλ‹€.

그리고 3발이 각기 λ‹€λ₯Έ κ°λ„λ‘œ λ‚˜κ°€μ§€ μ•ŠλŠ” 문제λ₯Ό ν•΄κ²°ν•΄λ³΄μ•˜λ‹€.

μœ„ ν•΄κ²°μ™„λ£Œμ— 적힌 μ½”λ“œμ²˜λŸΌ μΈμŠ€ν„΄μŠ€μ˜ image_angle에 값을 μΆ”κ°€ν•˜μ§€ μ•Šκ³  image_direction에 값을 μΆ”κ°€ν•˜λ‹ˆκΉŒ 탄이 각자 λ‹€λ₯Έ λ°©ν–₯으둜 λ‚˜κ°€λŠ” 것을 ν™•μΈν–ˆλ‹€.


도와주신 λΆ„λ“€ λͺ¨λ‘ κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€!


P.S μž‘λ™ν•˜λŠ” μ˜μƒμ„ μ˜¬λ €λ³΄μ•˜μŠ΅λ‹ˆλ‹€!