Ace 스크립트

 

소개

이 스크립트는 그림 위에 마우스가 오버되었거나, 마우스 버튼을 클릭했을 때, 마우스가 나갔을 때를 감지하여 특정 커먼 이벤트를 실행합니다.

또한 스프라이트나 윈도우에서 여러 마우스 이벤트를 발생시켜 상호 작용을 할 수 있게 합니다.

 

* 아래에 명시된 선행 스크립트가 있어야 동작합니다. 

 

RS_Input : 전체키 확장 및 마우스 지원 + 자동 이동 - https://biud436.blog.me/220289463681

 

사용법

스크립트 상단 부분에서 마우스 오버, 클릭, 아웃에 대한 호출 할 커먼 이벤트의 ID를 설정할 수 있습니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
module RS::Input
  module Pictures
    
    # 마우스 오버 시
    OVER = {
      # 그림 번호 => 커먼 이벤트 ID, 
      1 => 1
    }
    
    # 마우스 클릭 시
    CLICK = {
      # 그림 번호 => 커먼 이벤트 ID, 
      1 => 2
    }
    
    # 마우스가 오버되고 빠져나갈 때
    OUT = {
      # 그림 번호 => 커먼 이벤트 ID, 
      1 => 3,
    }
    
    # 마우스 커서의 크기
    CURSOR_SIZE = 24
    
    # 스프라이트 마우스 아웃 이벤트를 한 번만 발생시키려면 true, 
    # 마우스가 바깥에 있어도 계속 발생시키려면 false
    OUT_EVENT_EMIT_ONCE = false
    
    # 기본 클래스
    BASE_CLASS = Sprite
    
  end
end
cs

 

다음은 스크립트 팁입니다. 

 

스크립트는 마우스 이벤트 스크립트 밑, 메인 위에 추가 삽입해주셔야 합니다.

 

다음과 같이 하면 대화창 위에 마우스가 있을 때 불투명하게 되고, 나갔을 때 반투명이 됩니다. 간단합니다.

 

1
2
3
4
5
6
7
8
class Window_Message
  def on_mouse_over
    self.opacity = 255
  end
  def on_mouse_out
    self.opacity = 128
  end
end
cs

 

다음은 ID 값이 12 미만인 캐릭터 위에 마우스를 올려놓았을 때 캐릭터에 웨이브 효과를 줍니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
class Sprite_Character
  def on_mouse_over
    return if !self.bitmap
    return if self.bitmap.width <= 0 
    return if self.bitmap.height <= 0 
    if @character.id < 12
      self.wave_amp = self.bitmap.width / 8
    end
  end
  def on_mouse_out
    self.wave_amp = 0
  end  
end
cs

 

다음은 캐릭터 위에 마우스가 있으면 캐릭터 크기가 점점 늘어납니다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
class Sprite_Character
  def on_mouse_over
    return if !self.bitmap
    return if self.bitmap.width <= 0 
    return if self.bitmap.height <= 0 
    self.zoom_x += 0.1 if self.zoom_x < 10
    self.zoom_y += 0.1 if self.zoom_y < 10
  end
  def on_mouse_out
    self.zoom_x = 1
    self.zoom_y = 1   
  end  
end
cs

 

다음은 캐릭터 위에서 마우스 휠을 올리면 캐릭터가 점점 커지고, 휠을 내리면 점점 작아집니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Sprite_Character
  def on_mouse_over
    return if !self.bitmap
    return if self.bitmap.width <= 0 
    return if self.bitmap.height <= 0 
    if TouchInput.wheel > 0
      self.zoom_x += 0.1
      self.zoom_y += 0.1
    elsif TouchInput.wheel < 0
      self.zoom_x -= 0.1
      self.zoom_y -= 0.1      
    end
  end
  def on_mouse_out
    self.zoom_x = 1
    self.zoom_y = 1   
  end  
end
cs

 

캐릭터 스프라이트의 방향이 마우스를 따라서 빙글 빙글 돌아갑니다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
class Sprite_Character
  def on_mouse_over
    return if !self.bitmap
    return if self.bitmap.width <= 0 
    return if self.bitmap.height <= 0 
  end
  def on_mouse_out
    m_len = Math.sqrt(TouchInput.x * TouchInput.x + TouchInput.y * TouchInput.y)
    len = Math.sqrt(self.x * self.x + self.y * self.y)
    if len != 0 && m_len != 0
      dy = TouchInput.y - self.y
      dx = TouchInput.x - self.x
      
      dangle = Math.atan2(dy, dx)
      target = dangle
      if target < -Math::PI
        target += Math::PI * 2
      end
      if target >= Math::PI
        target -= Math::PI * 2
      end
      self.angle = -target * (180.0 / Math::PI)
    end
  end  
end
cs

 

링크

다음 링크에서 스크립트를 복사하신 후, 전체키 스크립트 밑에 삽입해주시기 바랍니다. 

 

전체키 스크립트는 메인 위 소재 밑에 있어야 합니다. 

 

링크 : https://github.com/biud436/RGSS3/raw/master/RS_InputExCallObjects.rb

Who's 러닝은빛

profile

Blog                            http://biud436.blog.me/

Blog(English)                 http://biud436.tistory.com/

MV Plugins                   https://github.com/biud436/MV   


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 4541
공지 RPG VX ACE 유용한 링크 모음 16 아방스 2012.01.03 26930
» 기타 마우스 이벤트 스크립트 러닝은빛 2020.01.30 32
240 버그픽스 전역 저장 스크립트 로드 버그 픽스 러닝은빛 2019.12.13 43
239 메시지 한글 메시지 시스템 [VXA] 1 러닝은빛 2019.09.04 744
238 그래픽 한글 비트맵 폰트 [All RGSS] file 러닝은빛 2019.05.07 358
237 이동 및 탈것 길찾기 [VXA] 1 러닝은빛 2019.05.07 232
236 아이템 모든 아이템 회수 및 복구 [VXA] 러닝은빛 2019.05.07 127
235 그래픽 이벤트 이름 표시 [VXA] file 러닝은빛 2019.05.07 238
234 전투 LNX11 전투 RPGXP 전투처럼 만들기 게임머스 2018.11.23 565
233 온라인 브라우저 열기 스크립트 1 게임머스 2018.09.09 288
232 타이틀/게임오버 GG침 스크립트 file 게임머스 2018.07.18 381
231 메시지 Pause 아이콘 위치 변경 file 러닝은빛 2018.07.15 325
230 기타 XBOX360 컨트롤러 사용 여부 체크 (게임 패드) file 러닝은빛 2018.07.15 171
229 메뉴 파티 개별 인벤토리 스크립트 안나카레리나 2018.06.25 338
228 전투 기본전투의 커스텀 명중률 제작 안나카레리나 2018.06.10 235
227 기타 LUD Script Package file LuD 2017.08.15 667
226 맵/타일 레이어 맵 <layer> 기능 2 file LuD 2017.08.03 730
225 HUD 아이템 레어리티 스크립트 (번역기 돌림) 2 file 부초 2017.07.21 880
224 기타 (링크)RPG VX ACE 블랙잭 스크립트 게임애호가 2017.06.18 596
223 이동 및 탈것 점프 스크립트 1 file galpod 2017.03.06 753
222 장비 장비 강화 스크립트 2 file galpod 2017.03.05 1073
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 Next
/ 13