내 게임 (안드로이드)을위한 진동을 만들려고합니다. 기본적으로 충돌이 발생할 때 진동이 시작되기를 원하지만 내 수준이 실행중인 클래스가 활동 클래스가 아니기 때문에 진동을 생성 할 수 없습니다. 계속하려면 호를 모릅니다. 어떻게해야합니까? 감사.활동이없는 클래스에서 진동 만들기?
1
A
답변
2
하지만 클래스를 만들려는 클래스는 활동 오른쪽에서 호출해야합니까? 그런 다음 활동 클래스에서 수행 진동과 같이 진행 할 문제가 없습니다 :
public function vibrate(Context context){
// Get instance of Vibrator from current Context
Vibrator v = (Vibrator) getSystemService(context);
// Vibrate for 300 milliseconds
v.vibrate(300);
}
1
사용이 하나
내 활동 클래스가 로딩 화면을 호출public void startVibrate(Context context, int repeat) {
vibrator = (Vibrator) context.getSystemService(Context.VIBRATOR_SERVICE);
int dot = 200; // Length of a Morse Code "dot" in milliseconds
int dash = 500; // Length of a Morse Code "dash" in milliseconds
int short_gap = 200; // Length of Gap Between dots/dashes
int medium_gap = 500; // Length of Gap Between Letters
int long_gap = 1000; // Length of Gap Between Words
long[] pattern = {
0, // Start immediately
dot, short_gap, dot, short_gap, dot, medium_gap, // S
dash, short_gap, dash, short_gap, dash, medium_gap, // O
dot, short_gap, dot, short_gap, dot, long_gap // S
};
vibrator.vibrate(pattern, repeat);
//vibrator.vibrate(10000);
}
가, 다음은 MAINMENU 화면을 호출하고 그에서 GameScreen, 게임 화면에 진동기를 만들려고 할 때 "getSystemService (String) 메서드가 GameScreen 유형에 대해 정의되지 않았습니다."라는 메시지가 나타납니다. – Matthew
Context.VIBRATOR_SERVICE를 필요한 메서드의 매개 변수로 전달해야합니다. – barbarity
나는 설명하려고하는 예를 보여주기 위해 나의 대답을 편집했다. – barbarity