SurfaceViewã«ã€ã¡ãŒãžã転éããããšã§æ¬äŒŒçã«ã¢ãã¡ãŒã·ã§ã³ã
è¡ã£ãŠããŸãã
ãã®ãšãã«ç»é¢ã®ã¡ãã€ããæ°ã«ãªããŸãã
ïŒããŸãã«ãã€ã¡ãŒãžã®è»¢éãå€ãããã ãšæããŸãïŒ
ïŒãªã¯ã¿ãŒãïŒåé³ãªã®ã§ãããã©ã
èŠã¯AâïœAïœA#ïœBã®ããã«ã決ãŸã£ããšããã§ã¢ãã¡ãŒã·ã§ã³ã
忢ããããã®ã§3gpã«ãããããªå Žåã«durationããŸã¡ãŸã¡ã«ãªãã®ã
é²ãããã«ããã®ãããªä»æ§ãšããŸããã
ïŒã€ãŸãã3gpã«ããã¢ãã¡ãŒã·ã§ã³ã®çŽ æãäœã人ã¯å¥ã§
ãªããã€äžèšã®ããã«æ±ºãŸã£ãé³ã®ãšããã§åæ¢ããããå¿
èŠããã
ããžãã¯äžåæ¢äœçœ®ã¯äžé³åœãã7*3*8éãã§ãïŒ
åœç¶ãAâïœAãžç§»è¡ãããšãã®å€åã®ã¹ããããæžããã°
ã€ã¡ãŒãžã®è»¢éåæ°ã¯æžããŸããããã¡ãã€ãã¯æžãããã§ãã
ãã ãæ ¹æ¬ç解決ã«ã¯ãªããªãããã«æãã®ã§ãã
ãç¥æµãæåã§ããŸãã§ããããïŒ
ãããããé¡ãããŸãã
ãSurfaceViewã¯ãã®ãŸãŸäœ¿ããšãã©ã€ãã¯ããŸãæ°ã«ãªããªãã¯ããªã®ã§ã
ãããããœãŒã¹ãæèŠããªããšçްããããšã¯ããããŸããããïŒãã¬ãŒã ããšã«
Canvasã®å¡ãã€ã¶ãåŠçãããŠãããšããããšã¯ãããŸãããïŒ
ãSurfaceView(Holder)ã¯ãããã«ãããã¡ãªã³ã°ãèªåã§è¡ããŸããäžæ°ã«
lockCanvasã§ååŸããCanvasãªããžã§ã¯ãã«ãæç»ããŠãã
unlockCanvasAndPostãããããã«ããŠã¿ãŠã¯ã©ãã§ããããã
ã
æå±±åäº
--
Keiji,
ml_an...@c-lis.co.jp
ããã«ããã¡ãèªåçã«ããŠãããŠããã®ã§ããã
å¡ãã€ã¶ãåŠçãªã©ã¯è¡ã£ãŠããŸããããã
転éã€ã¡ãŒãžã®é åã倧ããããšãåé¡ãªã®ã§ãããã
ïŒïŒåé³ã®ã€ã¡ãŒãžè»¢éé åã¯å
šç»é¢ã®2/3çšåºŠãããŸãïŒ
HVGAã®å Žåã ãšãä»ããã€ã¡ãŒãžã®ãµã€ãºã¯äžé³ã«æ
70x70pixã§äžé³åœããïŒã€ã®å€§ããã§ããã
70x270pix ãããïŒã€å»»ããŠããŸãã
----- å
ã®ã¡ãã»ãŒãž -----
From: "Keiji Ariyama" <ml_an...@c-lis.co.jp>
To: android-...@googlegroups.com
éä¿¡æžã¿: 2011幎1æ30æ¥, æ¥ææ¥ åå 12:45:20 GMT+09:00æ¥æ¬
ä»¶å: Re: [Android-SDK-Japan:1316] æç»æã®ç»é¢ã®ã¡ãã€ã
ãçŸæç¹ã§ã¯ã倧ããªç»åã§æç»ã¯é
ããªããããããªããã©ããã©ã€ãã¯åºã
ããªãããšããã®ãæ£çŽãªãšããã§ããã€ã¡ãŒãžæç»ã¹ã¬ããã®ã³ãŒãã¯èŒãã
ããŸããïŒ
--
Keiji,
ml_an...@c-lis.co.jp
ããœãŒã¹ãèŠãªããšäœãšãèšããŸãããã"SurfaceView"ãš"ã¡ãã€ã"ã®ããŒ
ã¯ãŒãããèããã«ãããã«ãããã¡ã®äœ¿ãæ¹ãééã£ãŠãããšããããŸããã§
ããããã
ãããã«ãããã¡ãªã®ã§ããããã¡ã®2ç»é¢ã亀äºã«è¡šç€ºããããšãã«ã衚瀺ç»
é¢ã®é£ç¶æ§ãä¿ã€ããã«ããªããšãç»é¢ã¯ã¡ãã€ããŸãã
ãäŸãã°ãç»é¢ã«'A'ãš'B'ã衚瀺ãããŠãããšããŠã'A'ãç§»åãããŠã次ã®ç»
é¢ã§'B'ãç§»åããããšãããŠããŸããšãåãããã¯ãã®'A'ã¯ãã®ç»é¢ã§ã¯åã
ãŠããªãã®ã§ã'B'ã ãåããŠã'A'ã¯å
ããå Žæã«æ»ã£ãŠããç»é¢ã«ãªããŸãã
ããªã®ã§ãSurfaceViewã䜿ã£ãŠãé£ç¶çã«äœããåãããšãã«ã¯ãåããå Žå
ã¯ãå°ãªããšãäºåé£ç¶ããŠæãããäœãèããã«ãåžžã«ç»é¢ã®ã¢ã€ãã ãå
šãŠ
æžãçŽãå¿
èŠããããŸãã
ãå
šç»é¢ãæžãçŽãã®ãå«ã§ãã»ãã®äžéšã ãåãããããããªå Žåã¯ãåãã¢
ãã¡ãŒã·ã§ã³ãäž¡ãããã¡ç»é¢ã«æžããŠããã¡ãã€ãã¯ãªããªãã¯ãã§ãã
ããã¬ãŒã ã¬ãŒãã確ä¿ã§ããŠããã®ã§ããã°ãã©ã£ã¡ã§ãããããªãšæããŸ
ãããããŸã§ãããœãŒã¹ãããããªãã®ã§ãæ³åã§æžããŠããŸããéã£ãŠããã
ã¹ã«ãŒããŠãã ããã
--
å±±æ¬äžäžç· (Minao Yamamoto) ---------------- ãã³ãã«:ãããµ -----
E-Mail: taro...@gmail.com
æç»éšåã¯
protected void drawNots(Canvas c, SurfaceHolder holder) {
for (int i = 0; i < numNotes; i++) {
int x1 = 0;
int y1 = noteY[i];
int x2 = noteImageWidth;
int y2 = notedDisplayHeight + noteY[i];
Rect src = new Rect (x1,y1,x2,y2);
c.drawBitmap (noteImgs[i], src, destRects[i], null);
}
}
åŒã³åºãå
ã§ã¯
Canvas c = holder.lockCanvas();
drawNotes(c, holder);
holder.unlockCanvasAndPost(c);
ãšããŠããŸãã
----- å
ã®ã¡ãã»ãŒãž -----
From: "ãããµ" <taro...@gmail.com>
To: android-...@googlegroups.com
éä¿¡æžã¿: 2011幎1æ30æ¥, æ¥ææ¥ ååŸ 5:42:49 GMT+09:00æ¥æ¬
ä»¶å: Re: [Android-SDK-Japan:1319] æç»æã®ç»é¢ã®ã¡ãã€ã
ãããã«ã¡ã¯ãã¯ãããŸããŠããããµã§ãã
--
ãã®ã¡ãŒã«ã¯ Google ã°ã«ãŒãã®ã°ã«ãŒããAndroid-SDK-Japanãã®ç»é²è
ã«éãããŠããŸãã
ãã®ã°ã«ãŒãã«æçš¿ããã«ã¯ãandroid-...@googlegroups.com ã«ã¡ãŒã«ãéä¿¡ããŠãã ããã
ãã®ã°ã«ãŒãããéäŒããã«ã¯ãandroid-sdk-ja...@googlegroups.com ã«ã¡ãŒã«ãéä¿¡ããŠãã ããã
詳现ã«ã€ããŠã¯ãhttp://groups.google.com/group/android-sdk-japan?hl=ja ãããã®ã°ã«ãŒãã«ã¢ã¯ã»ã¹ããŠãã ããã
ãã¯ã©ã¹ã¡ã³ãnumNotesã¯ãæå€§ã§ã©ããããã®å€§ããã§ããïŒ
ãforæã®äžã§new RectãããŠããã®ã¯ãã«ãŒãã®å€ã«çœ®ããæ¹ããããšæããŸ
ããããããã§ããããã
private final Rect mSrc = new Rect();
protected void drawNots(Canvas c, SurfaceHolder holder) {
for (int i = 0; i< numNotes; i++) {
mSrc.top = noteY[i];
mSrc.right = noteImageWidth;
mSrc.bottom = notedDisplayHeight + noteY[i];
c.drawBitmap (noteImgs[i], mSrc, destRects[i], null);
}
}
ãããšãdrawNotsã¡ãœããã®åŒã³åºãå
ã¯ã¹ã¬ããã§ããïŒåªå
é äœã¯ã©ã®ãã
ã«èšå®ããŠããŸããïŒ
ãã¹ã¬ããã®äžã§ç¹°ãè¿ãæç»ãããŠãããšæããŸãããç¹°ãè¿ãééã¯ã©ãã
ãããèšå®ããŠããŸããïŒ
æå±±ãåäº
--
Keiji,
ml_an...@c-lis.co.jp
ãdrawNots()ã§ãSurfaceViewã®ç»é¢ãã¯ãªã¢ããŠããªãã®ã§ã2ç»é¢åã®ç»åã
æ®ã£ãŠããããããªãããªãã»ã»ã»ã
ãåŒã³åºãå
ããäžèšã®ããã«ããŠç¡çç¹°ã2ãããã¡æãã¡ãããšããèæ¥ã§
ã©ãããª(^^;ã
Canvas c = holder.lockCanvas();
drawNotes(c, holder);
holder.unlockCanvasAndPost(c);
c = holder.lockCanvas();
drawNotes(c, holder);
holder.unlockCanvasAndPost(c);
æ±å·ãšç³ããŸãã
çŸæç¹ã§ã©ããããã®ãã¬ãŒã ã¬ãŒããåºãŠãããã«ãããŸããã
ãããµãããæåã®ã¡ãŒã«ã§ãã£ããã£ãŠããããã«ãç»é¢å
šäœãæããŠã¿ãŠã¯ãããã§ããããã
ïŒä»åã®ã±ãŒã¹ã§ã¯ãNotesãæãåã«èæ¯ãæããïŒ
ãŸããããããããšæ¢ã«å®è£
ãããŠãããããããŸãããã
ã¢ãã¡ãŒã·ã§ã³ãããŠãããšããã°ããã¬ãŒã ã¬ãŒããäžå®ã«ãªãããã«
onDrawã®åŒã³åºãééã調æŽããã»ãã端æ«ã®ã¹ããã¯ã«äŸãã
åãã®ã§ãããããããŸããã
------------------------------------------
EGAWA Takashi
2011/2/2 ãããµ <taro...@gmail.com>:
ããããšãããããŸããææ¥ã«è©ŠããŠã¿ãããšæããŸãã
çŸåšå¥ã®ã¹ã¬ããããåŒã³åºããããŠããŸãã
ïŒåé³ã§è©ŠããŠããŸãã®ã§ãäžã€ãåã圢ã§ãã
88width * 440height ã§ãããããäžã€ã§ãã
ãã ãã®ä¿®æ£ã®åã«å¥ã¹ã¬ããããholder.lockCanvas();
ãåŒã³åºãããšãã«æ°žé ãšnullãå€ããç¶ããããšããããšææãããããšã§ãã
åºæ¬çã€ããã¯
NoteApp NoteView
-> create
setContentView
-> startAnimation
-> create AnimationThread
åºæ¬ãå€åã§ããŠãªããã§ããããç§ã
ãããããŠïŒã€ã®ã¹ã¬ããããæããŠããŸããïŒ
SurfaceViewã§å¥ã¹ã¬ããïŒä»åã§èšãAnimationThreadïŒã䜿ã£ãŠæç»ãããããšã¯OKã§ãããããæç¹ã§
Canvasã«æããã®ã¯1ã€ã®ã¹ã¬ããã ãã§ãã
lockCanvasãæåããïŒnullãããªãã£ãïŒã¹ã¬ããã ããunlockCanvasAndPostãŸã§ã®éæãããšãã§ããŸãã
ãã®ãããã¹ã¬ãããïŒã€ã«å¢ãããŠãé«éã«ã¯ãªããªãã§ãããããåã
ã®ã¹ã¬ããã§æ¯åå
šç»é¢ãæããŠ
ããã®ãªããã¡ãã€ããããã¢ãã¡ãŒã·ã§ã³ãäžé£ç¶ã«ãªãããã§ããããã
æç»ã®ã¹ã¬ããã¯1æ¬ã«ããŠãããã§ïŒã€ã®ãªããžã§ã¯ãå
šéšïŒïŒèæ¯ïŒãæãããã«ããŠã¿ãŠäžããã
------------------------------------------
EGAWA Takashi
2011/2/2 <k.yo...@chime.ocn.ne.jp>:
ãããããå
šäœåãããã£ãŠæ°ãããŸãããããã£ãŠããã€ãã®ç»åããïŒã€ã®
ç»é¢äžã§åæã«åããŠããïŒè¡šç€ºããŠããïŒããã«èŠãããã£ãŠããšã§ããã
ãæ±å·ããã®ä»°ãããã«ãæç»ã¹ã¬ãããïŒã€äœã£ãŠããã®ã¹ã¬ããã®äžã§ã¯é³
笊ãSurfaceViewã«æç»ããã ãã«ããã
ãïŒã€ã®ã¹ã¬ããã¯ãããããã®é³ç¬Šã®äœçœ®æ
å ±ïŒåããŠããã®ãªãïŒãèšç®ã
ãã ãã§ãæç»ã¯è¡ããªãã
ããšã圹å²ãåæ ããã°ããã©ã€ãã¯ãªããªããšæããŸãã
--
Keiji,
ml_an...@c-lis.co.jp
ãããã«ã¡ã¯ãç§ãåæèŠã§ãã
ãæç»ã¹ã¬ãããå¥ã«1ã¹ã¬ããäœã£ãã»ãããããšæããŸãã
ãããšããã£ã±ããfor (int i = 0; i < numNotes; i++)ããåã«èæ¯ãæããŠ
ããªã(åã
åã®ç»é¢ãæ¶ããŠããªã)ã®ãæ°ã«ãªããŸãã
ããŸããc=nullã§drawNotes()ãåŒã³åºããŠãã c.drawBitmap()ã§ãšã©ãŒã«ãªã
ã¯ããªã®ã§ãã©ããã§ãšã©ãŒãã©ãããnullãã©ããããã£ãŠããŠãããããžã
ãåå ãèŠã€ãã¥ããããŠããã®ããç¥ããŸãããã
ã
--
ãææããããšãããããŸãã
æç»ã¹ã¬ããã¯äžã€ãªã®ã§ãããã©ã確ãã«èæ¯ãæžããŠããŸããã
while (running) {
Thread.yield();
Canvas c = null;
try {
c = holder.lockCanvas();
if (c != null) {
synchronized (LOCK) {
drawNotes(c, holder);
moveNotes();
}
}
} finally {
if (c != null) {
holder.unlockCanvasAndPost(c);
}
}
ãšããããããã®å€æŽãèŽããŸããã
èæ¯æç»ãšäœçœ®ã®èšç®ã¯ææ¥è©ŠããŠã¿ãŸãã
倿Žããã®ã¯ finallyå¥ã®è¿œå ã§ããïŒæé¢çéžã§ããããŠããŸããããããŠèæ¯ã®æç»ãè¡ã£ãŠããŸããïŒ
確ãã«RuntimeExceptionãæããããããšãããã®ã§ãããã
ããããšãããããŸãã
----- å
ã®ã¡ãã»ãŒãž -----
From: "ãããµ" <taro...@gmail.com>
To: android-...@googlegroups.com
éä¿¡æžã¿: 2011幎2æ3æ¥, æšææ¥ ååŸ 2:43:11 GMT+09:00æ¥æ¬
ä»¶å: Re: [Android-SDK-Japan:1340] æç»æã®ç»é¢ã®ã¡ãã€ã
åããŒãã®ç§»åã®èšç®ã¯ã確ãã«æ©çš®ã«äŸåããã§ãããããã
äžæã«ã³ã³ãããŒã«ãããæ¹æ³ã暡玢äžã§ãã
ïŒæ°åŠãèŠæãªã®ã§ãïŒ
å€åã座æšäœçœ®èšç®ã¹ã¬ãããã©ã®ãããã®é »åºŠã§åŒã°ããŠã
åé³ã®ã€ã¡ãŒãžãå»»ãåæ°ã¯æ¯ç§äœåããšãã§å·®åãåã£ãŠããã°
äœãšããªããããªæ°ãããã®ã§ãããã©ã
äœãå
¬åŒã®ãããªç©ããåãã®æ¹ãããã£ãããã°æããŠäžããã
ããããšãããããŸãã
----- å
ã®ã¡ãã»ãŒãž -----
From: "k yoriko" <k.yo...@chime.ocn.ne.jp>
To: android-...@googlegroups.com
éä¿¡æžã¿: 2011幎2æ3æ¥, æšææ¥ ååŸ 11:13:25 GMT+09:00æ¥æ¬
ä»¶å: Re: [Android-SDK-Japan:1341] æç»æã®ç»é¢ã®ã¡ãã€ã
æç»ã®é床ãä»åã®ã¡ãã€ãã®åå ã§ã¯ãªãã£ããšããäºã ãšæããŸãã
> å€åã座æšäœçœ®èšç®ã¹ã¬ãããã©ã®ãããã®é »åºŠã§åŒã°ããŠã
> åé³ã®ã€ã¡ãŒãžãå»»ãåæ°ã¯æ¯ç§äœåããšãã§å·®åãåã£ãŠããã°
> äœãšããªããããªæ°ãããã®ã§ãããã©ã
è²ã
æ¹æ³ãèããããŸãããæšäžããã®ãã£ãããèãæ¹ã§å®çŸã§ãããšæããŸãã
æåŸ
ãããã¬ãŒã ã¬ãŒããæ±ºããŠãäŸãã°50fpsãªããæ¯ãã¬ãŒã 20ããªç§ãããŠæãã°ããã®ã§
onDrawã®åŒã³åºãã®æåãšæåŸã®æå»ãèšé²ããŠã20ããªç§ããã£ãŠããªããããªãæ¬¡ã®æç»ã
é
ããããããªå®è£
ãèããããŸããïŒ15ããªç§ã§æãçµãã£ãŠããã5ããªç§ã»ã©åŸ
ã€ïŒ
éã«éã«åããªããããªããæããã®ãæžãããããããããªå·¥å€«ãå
¥ããäœå°ããããããããŸããã
Androidã«éããã²ãŒã ããã°ã©ãã³ã°ã§ã¯ãã®ãããã¯äžè¬çã«è¡ãããŠããããšã ãš
æããŸãã®ã§ãã²ãŒã ããã°ã©ãã³ã°ç³»ã®æ
å ±ãæ¢ãã°åèã«ãªããã®ãèŠã€ãããšæããŸãã
------------------------------------------
EGAWA Takashi
2011/2/4 <k.yo...@chime.ocn.ne.jp>:
ãã¡ãã€ããç¡ããªã£ãŠããã£ãã§ãã
> æç»ç¯å²ãåºãã«ãããããããã¡ãã€ããæžããšããã®ã¯ã
> åå¿è
ã®ãããçç±ãåãããªãããšã§ããããŸãã
ããã¶ããç§ã®æåã®å±æ§ãåœãã£ãŠããã®ã ãšæããŸããããã«ãããã¡ã
è¡ã£ãŠããããšã®çè§£ã§ããã
> åããŒãã®ç§»åã®èšç®ã¯ã確ãã«æ©çš®ã«äŸåããã§ãããããã
> äžæã«ã³ã³ãããŒã«ãããæ¹æ³ã暡玢äžã§ãã
ãç§ãAndroid & javaæŠ 4ã¶æã»ã©ãªã®ã§ãããã»ã©ããã£ãŠããªãã§ãããåº
æºã«ãŠã³ã¿ãäœãåãããŠããã®ã«ãŠã³ã¿ãèŠãªããå
šãŠãåãããšãããããª
æãããé§ç®ã§ãããïŒ
ãã§ã¯ã§ã¯ã