ZEP Guidebook (KR)
  • πŸ‘‹Hello ZEP Script
  • ZEP Script κ°€μ΄λ“œ
    • ZEP Script 개발 κ°€μ΄λ“œ
      • μ‰¬μš΄ 개발 κ°€μ΄λ“œ
      • Javascript 개발 κ°€μ΄λ“œ
      • Typescript 개발 κ°€μ΄λ“œ
      • ZEP Script 배포 κ°€μ΄λ“œ
    • ZEP Script λ”°λΌν•˜κΈ°
      • 기초 예제 μ½”λ“œ
        • βœ‰οΈλ©”μ‹œμ§€ 좜λ ₯해보기
        • ♻️ZEP APP lifecycle μ΄ν•΄ν•˜κΈ°
        • πŸ‘€μΊλ¦­ν„° 이미지 λ°”κΎΈκΈ°
        • πŸ–ΌοΈλ‚˜λ§Œμ˜ UI λ§Œλ“€κΈ°
        • πŸ’’2초 μŠ€ν„΄ 효과 λ§Œλ“€μ–΄λ³΄κΈ°
      • ZEP Script 예제 μ½”λ“œ
        • ⏰타이머
        • β±οΈλ°©νƒˆμΆœ 타이머
        • πŸ€›μ‚¬μ΄λ“œλ°” μ•±
        • πŸ§Ÿβ€β™‚οΈμ’€λΉ„ κ²Œμž„
        • 🎨페인트맨 κ²Œμž„
        • πŸ™†β€β™€οΈμ΄ˆμ„± ν€΄μ¦ˆ
        • πŸ’©λ˜₯ν”Όν•˜κΈ° κ²Œμž„
        • πŸ₯Šκ²°νˆ¬ κ²Œμž„
        • πŸƒβ€β™‚οΈλ‹¬λ¦¬κΈ°
      • Custom Label 예제 μ½”λ“œ
        • Type-A
        • Type-B
        • Type-C
        • Type-D
        • Type-E
        • Type-F
        • Type-G
        • Type-H
        • Type-I
        • Type-J
      • μ‚¬μ΄λ“œ λ°” μ•± 예제 μ½”λ“œ
        • πŸ”ΉImage List
        • πŸ”ΉText List
        • πŸ”ΉText Button List
        • πŸ”ΉRanking List
        • πŸ”ΉSelect List
    • ZEP Script FAQ
    • 뢀둝
      • 🎑ZEP 슀크립트 ν™œμš© 사둀
      • πŸ—ΊοΈμŠ€νŽ˜μ΄μŠ€μ™€ λ§΅ μ΄ν•΄ν•˜κΈ°
      • βŒ¨οΈμžλ°”μŠ€ν¬λ¦½νŠΈ ν‚€μ½”λ“œ ν‘œ
      • πŸŽ¨μŠ€ν”„λΌμ΄νŠΈμ‹œνŠΈ μ΄ν•΄ν•˜κΈ°
      • πŸŒ€TileEffectType 상세 μ„€λͺ…
      • πŸ“ŒκΈ°μ€€ μ’Œν‘œ
      • πŸ›°οΈμ™ΈλΆ€ API ν†΅μ‹ ν•˜κΈ°
      • πŸ”°URL 쿼리슀트링 ν™œμš©ν•˜κΈ°
      • πŸͺ§μœ„μ ―μ—μ„œ μ‚¬μš©κ°€λŠ₯ν•œ 문법
      • πŸ”˜λͺ¨λ°”μΌλ²„νŠΌ 이미지 λ³€κ²½ν•˜κΈ°
      • ✳️ZEP 슀크립트 μƒν˜Έμž‘μš© 였브젝트 κ°€μ΄λ“œ
      • πŸ“‡μ˜€λΈŒμ νŠΈ npcProperty
  • ZEP SCRIPT API
    • πŸ“˜ZEP Script API
      • API Summary
      • ScriptApp
        • Lifecycle
        • Field
        • Storage
        • Event Listeners
        • Callbacks
        • Methods
      • ScriptMap
        • Field
        • Methods
      • ScriptPlayer
        • Field
        • Methods
      • ScriptWidget
        • Field
        • Event Listeners
        • Methods
      • UtilityClass
        • Time
Powered by GitBook
On this page
  • μ†Œκ°œ
  • πŸ“š API μ„€λͺ… 및 예제
  • sendMessage
  • destroy
  • 뢀둝

Was this helpful?

  1. ZEP SCRIPT API
  2. ZEP Script API
  3. ScriptWidget

Methods

μ†Œκ°œ

Appμ—μ„œ μœ„μ ―μœΌλ‘œ 데이터λ₯Ό λ³΄λ‚΄κ±°λ‚˜, μœ„μ ―μ„ νŒŒκ΄΄ν•˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€.

이름
μ„€λͺ…

sendMessage

Appμ—μ„œ μœ„μ ―μœΌλ‘œ 데이터λ₯Ό λ³΄λ‚΄λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€.

destroy

μœ„μ ―μ„ μ‚­μ œν•˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€.

πŸ“š API μ„€λͺ… 및 예제

Methods ν•¨μˆ˜ ν•œ λˆˆμ— 보기

// μƒμ„±ν•œ μœ„μ ―μ— λ©”μ„Έμ§€λ₯Ό 보냄
widget.sendMessage(object: any)

// μœ„μ ―μ„ 제거
widget.destroy()

sendMessage

widget.sendMessage(object: any)

Appμ—μ„œ μœ„μ ―μœΌλ‘œ 데이터λ₯Ό λ³΄λƒ…λ‹ˆλ‹€.

νŒŒλΌλ―Έν„°

이름
νƒ€μž…
μ„€λͺ…

object

any

μ•±μ—μ„œ μœ„μ ―μœΌλ‘œ λ³΄λ‚΄λŠ” 데이터 Ex) { name : β€œtest”, message : β€œmessage” }

예제

μœ„μ ―μ— ν…μŠ€νŠΈμ™€ 이미지 데이터 보내기


// ν”Œλ ˆμ΄μ–΄κ°€ μž…μž₯ν•  λ•Œ λ™μž‘ν•˜λŠ” ν•¨μˆ˜
App.onJoinPlayer.Add(function (player) {
	player.tag = {
		widget: null,
	};
	
	player.tag.widget = player.showWidget("sample.html", "top", 300, 300);
	//μœ„μ ―μ—μ„œ μ•±μœΌλ‘œ λ©”μ‹œμ§€λ₯Ό 보내면 λ™μž‘ν•˜λŠ” ν•¨μˆ˜
	player.tag.widget.onMessage.Add(function (player, data) {
		if (data.type == "close") {
			player.showCenterLabel("μœ„μ ―μ΄ λ‹«ν˜”μŠ΅λ‹ˆλ‹€.");
			player.tag.widget.destroy();
			player.tag.widget = null;
		}
	});
	player.sendUpdated();
});

// qλ₯Ό λˆ„λ₯΄λ©΄ λ™μž‘ν•˜λŠ” ν•¨μˆ˜
// μœ„μ ―μ— ν…μŠ€νŠΈμ™€ blueman 이미지λ₯Ό 보냄
// App.addOnKeyDown μ„€λͺ…(링크)
App.addOnKeyDown(81, function (player) {
	if (player.tag.widget) {
		player.tag.widget.sendMessage({
			text: "블루맨",
		});
	}
});

sample.html: ν…μŠ€νŠΈ, 이미지 데이터λ₯Ό λ°›μ•„ ν‘œμ‹œν•˜λŠ” λΆ€λΆ„

//μ•±μ—μ„œ μœ„μ ―μœΌλ‘œ λ©”μ‹œμ§€λ₯Ό 보내면 λ™μž‘ν•˜λŠ” ν•¨μˆ˜
window.addEventListener("message", function (e) {
	let text = e.data.text;
	let content = document.getElementById("content");
	if (content) {
		while (content.hasChildNodes()) {
			content.removeChild(content.firstChild);
		}
		let content_image = document.createElement("img");
		content_image.setAttribute("src", BLUEMAN);
		content_image.setAttribute("class", "cover");
		content.append(content_image);
	}
	if (text) {
		document.getElementById("text").innerText = text;
	}
});
// μ΄λ―Έμ§€λ‘œ μ‚¬μš©ν•  블루맨 이미지 (base64 인코딩)
const BLUEMAN = "data:image/png;base64,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"

destroy

widget.destroy()

μœ„μ ―μ„ μ‚­μ œν•˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€.

νŒŒλΌλ―Έν„°

  • μ—†μŒ

예제

뢀둝

PreviousEvent ListenersNextUtilityClass

Last updated 1 year ago

Was this helpful?

πŸ“˜
πŸ”₯
Event Listeners
μœ„μ ―μ—μ„œ μ‚¬μš©κ°€λŠ₯ν•œ 문법
18KB
예제_widgetSendmessage.zip
archive