flash에서 마우스 오른쪽 버튼 사용하기
flash 에서 오른쪽 마우스를 사용 하기 위해서
ASnative 를 이용해서 dispatch 한 이벤트를 실행합니다.
버튼, 무비클립 클릭 용으로 만들었습니다.
ASnative 를 이용해서 dispatch 한 이벤트를 실행합니다.
버튼, 무비클립 클릭 용으로 만들었습니다.
swf 파일을 html에서 embead 할 때 menu=false로 지정 합니다.
그래야 flash 상에서 메뉴 버튼이 나타나지 않습니다.
flash의 1번째 프레임에 다음과 같이 선언 합니다.
소스는 actionscript 를 조금만 할 줄 알면 누구나 이해 할 수 있음으로,, 설명은 생략 ...
var EventStack:Array =new Array();
flash의 1번째 프레임에 다음과 같이 선언 합니다.
소스는 actionscript 를 조금만 할 줄 알면 누구나 이해 할 수 있음으로,, 설명은 생략 ...
var EventStack:Array =new Array();
this.onEnterFrame = function() {
//dispitchEvent by MouseRightBtnClick
if (ASnative(800, 2)(2)) {
//객체 찾기
var temp:Array=find_object(this._currentframe);
for(i:Number=0; i<temp.length; i++){
if(is_mouseOver(this[temp[i].eventTarget])==true){
//method call;
var method:String = temp[i].tirggerMethod;
this[method]();
removeEventStack(temp[i].frameNo,temp[i].eventTarget,temp[i].tirggerMethod);
}//end if
}//end for
}//end if
}//end EnterFrame
//dispitchEvent by MouseRightBtnClick
if (ASnative(800, 2)(2)) {
//객체 찾기
var temp:Array=find_object(this._currentframe);
for(i:Number=0; i<temp.length; i++){
if(is_mouseOver(this[temp[i].eventTarget])==true){
//method call;
var method:String = temp[i].tirggerMethod;
this[method]();
removeEventStack(temp[i].frameNo,temp[i].eventTarget,temp[i].tirggerMethod);
}//end if
}//end for
}//end if
}//end EnterFrame
//등록
function regist(frameNo:String,eventTarget:String,tirggerMethod:String):Void{
var defaultObj:Object = new Object();
defaultObj.frameNo=frameNo;
defaultObj.eventTarget=eventTarget;
defaultObj.tirggerMethod =tirggerMethod;
EventStack.push(defaultObj);
}
// is mouseOver
function is_mouseOver(o:Object){
var is:Boolean=false;
if(o.hitTest(_root._xmouse,_root._ymouse, false)){
is=true;
}
return is;
}
function find_object(frameNo:String):Array{
var objArray:Array = new Array();
for(i:Number=0; i<EventStack.length; i++){
if(EventStack[i].frameNo==frameNo){
objArray.push(EventStack[i]);
}
}
return objArray;
}
var objArray:Array = new Array();
for(i:Number=0; i<EventStack.length; i++){
if(EventStack[i].frameNo==frameNo){
objArray.push(EventStack[i]);
}
}
return objArray;
}
function removeEventStack(frameNo:String,eventTarget:String,tirggerMethod:String){
for(i:Number =0; i<EventStack.length; i++){
if(EventStack[i].frameNo==frameNo){
if(EventStack[i].eventTarget==eventTarget){
if(EventStack[i].tirggerMethod==tirggerMethod){
array_slice(EventStack,i);
break;
}
}
}
}
}
for(i:Number =0; i<EventStack.length; i++){
if(EventStack[i].frameNo==frameNo){
if(EventStack[i].eventTarget==eventTarget){
if(EventStack[i].tirggerMethod==tirggerMethod){
array_slice(EventStack,i);
break;
}
}
}
}
}
function array_slice(target_array:Array, target_num:Number){
for(var i=0; i<target_array.length; i++){
if(i==target_num){
target_array.splice(i,1);
}
}
}
마우스 오른쪽 버튼을 클릭 할 위치에
stop();
//_currentframe 현제 프레임 번호 , bg1 <-- 이벤트가 발생할 객체(버튼, 무비클립), fun1 <-- 이벤트가 발생 할 후 호출될 함수 명 함수 명은 수정 될 수 있으나 해당 함수를 반드시 구현 해줘야 한다.
regist(_currentframe,"bg1","fun1");
//callback function
function fun1(){
//마우스 오른쪽 버튼 클릭시 실행될 내용
trace("mouseclick");
}
for(var i=0; i<target_array.length; i++){
if(i==target_num){
target_array.splice(i,1);
}
}
}
마우스 오른쪽 버튼을 클릭 할 위치에
stop();
//_currentframe 현제 프레임 번호 , bg1 <-- 이벤트가 발생할 객체(버튼, 무비클립), fun1 <-- 이벤트가 발생 할 후 호출될 함수 명 함수 명은 수정 될 수 있으나 해당 함수를 반드시 구현 해줘야 한다.
regist(_currentframe,"bg1","fun1");
//callback function
function fun1(){
//마우스 오른쪽 버튼 클릭시 실행될 내용
trace("mouseclick");
}
댓글 3개
HoneyMaro
13년 전
오오 대박대박
visualp
13년 전
그러나 이방법도 완벽한 해결 방법은 아님을 참고 해주세요;
13년 전
감사합니다~~
게시글 목록
| 번호 | 제목 |
|---|---|
| 3182 | |
| 3171 | |
| 3165 | |
| 3163 | |
| 14999 | |
| 14998 |
PHP
mp3 tag 정보 구하기
|
| 14991 | |
| 14984 | |
| 14982 | |
| 14979 | |
| 14978 | |
| 14977 | |
| 3155 | |
| 14976 |
JavaScript
[ActionScript 3.0] Singleton , 싱글톤 페턴
|
| 14963 |
PHP
유용한 함수 strpos
12
|
| 14960 |
JavaScript
[er-win 7 발표자료] 도움이 될지 모르겠내요.
2
|
| 14957 |
jQuery
jquery를 이용한 오른쪽 퀵메뉴
2
|
| 3151 | |
| 3143 | |
| 14951 | |
| 3135 | |
| 3132 | |
| 14948 |
PHP
php 함수검색 넣기
2
|
| 14941 |
MySQL
php 에 유용한툴 15가지
6
|
| 29815 | |
| 14939 | |
| 14936 |
jQuery
jQuery closest().find()
2
|
| 14935 | |
| 3119 | |
| 3113 | |
| 14933 |
PHP
fwrite() 함수 관련
1
|
| 14929 | |
| 3110 | |
| 14928 |
JavaScript
ssh 기본명령어 (왕초보 -_-)
|
| 14923 | |
| 14921 | |
| 3091 | |
| 3087 | |
| 3078 | |
| 26068 |
계약서
프로그램 용역 계약서
6
|
| 3067 | |
| 24252 | |
| 14918 | |
| 3061 | |
| 3059 | |
| 3053 | |
| 14915 | |
| 3049 | |
| 14912 |
jQuery
문서의 총 높이값 알아내는 자바스크립트
2
|
| 14911 |
MySQL
mysql utf-8 설정하기
|
| 14909 | |
| 3040 | |
| 3033 | |
| 3027 | |
| 3022 | |
| 14908 |
jQuery
jQuery 의 attr 과 prop 에 대하여
|
| 24246 | |
| 14905 | |
| 3015 | |
| 14904 | |
| 14899 | |
| 3007 | |
| 14884 | |
| 24241 | |
| 3001 | |
| 2997 | |
| 14880 |
JavaScript
유용한 함수 - serialize
3
|
| 2991 | |
| 2984 | |
| 14879 |
MySQL
프로그래밍 보안 가이드 2006
|
| 2975 | |
| 24232 | |
| 14872 | |
| 2970 | |
| 24231 | |
| 2967 | |
| 2958 | |
| 14864 | |
| 2952 | |
| 14858 |
JavaScript
자기 컴퓨터에서 자신만에 홈피 주소 사용하기.
5
|
| 24230 | |
| 14850 | |
| 2950 | |
| 14848 | |
| 14846 |
JavaScript
도메인 "_" 문자열?
1
|
| 14845 |
jQuery
jquery, mouseover/out
|
| 14839 |
jQuery
[jQuery] textarea 글자수 카운트
5
|
| 2944 | |
| 2932 | |
| 14833 | |
| 14832 | |
| 14830 |
jQuery
가변 폼 액션 접근성 확보하기
1
|
| 2927 | |
| 14826 |
기타
퍼미션 명령
3
|
| 26056 | |
| 2921 | |
| 2911 | |
| 14824 |
JavaScript
ajax 서버측 현재시간 출력
1
|
| 2906 | |
| 2889 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기