Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 关于海盗的If-Else未解决_Android_If Statement_Sharedpreferences_Live Wallpaper - Fatal编程技术网

Android 关于海盗的If-Else未解决

Android 关于海盗的If-Else未解决,android,if-statement,sharedpreferences,live-wallpaper,Android,If Statement,Sharedpreferences,Live Wallpaper,你能告诉我如何用两组R.drawable.images创建if-else语句吗 我已经试过了,但我得到一个错误代码,说海盗未解决 位图图标=BitmapFactory.decodeResource(getResources(),pirates[i]) 这是我在首选项中的内容: 非常感谢似乎您正在尝试创建两个int数组,其中包含不同的图像集。但是您使用的是相同的变量名pirates。我建议您定义两个不同的变量int[]pirates和int[]piratesNatural,然后在需要时在这两个数

你能告诉我如何用两组R.drawable.images创建if-else语句吗

我已经试过了,但我得到一个错误代码,说海盗未解决

位图图标=BitmapFactory.decodeResource(getResources(),pirates[i])

这是我在首选项中的内容:


非常感谢

似乎您正在尝试创建两个int数组,其中包含不同的图像集。但是您使用的是相同的变量名
pirates
。我建议您定义两个不同的变量
int[]pirates
int[]piratesNatural
,然后在需要时在这两个数组之间切换

Bitmap icon; 
if(natural)  
  icon = BitmapFactory.decodeResource(getResources(),piratesNatural[i]);   
else
  icon = BitmapFactory.decodeResource(getResources(),pirates[i]);
你在做动画吗

int frame=0;
int frametime=24;

Bitmap icon1 BitmapFactory.decodeResource(getResources(), R.drawable.image_1,);
Bitmap icon2 BitmapFactory.decodeResource(getResources(), R.drawable.image_2,);
Bitmap icon3 BitmapFactory.decodeResource(getResources(), R.drawable.image_3,);
Bitmap icon4 BitmapFactory.decodeResource(getResources(), R.drawable.image_4,);



//in update
frametime--;
if(frametime<=0){
frame++;
frametime=24;
}
if(frame>3){
frame=0;
}



//in onDraw

switch(frame){

case 0:
canvas.drawBitmap(icon1,x,y,null);
break;
case 1:
canvas.drawBitmap(icon2,x,y,null);
break;
case 2:
canvas.drawBitmap(icon3,x,y,null);
break;
case 3:
canvas.drawBitmap(icon4,x,y,null);
break;
default:
canvas.drawBitmap(icon1,x,y,null);
break;}
int帧=0;
整数帧时间=24;
位图icon1 BitmapFactory.decodeResource(getResources(),R.drawable.image_1,);
位图icon2 BitmapFactory.decodeResource(getResources(),R.drawable.image_2,);
位图icon3 BitmapFactory.decodeResource(getResources(),R.drawable.image_3,);
位图icon4 BitmapFactory.decodeResource(getResources(),R.drawable.image_4,);
//更新中
帧时--;
如果(帧时间3){
帧=0;
}
//在昂德劳
交换机(帧){
案例0:
drawBitmap(icon1,x,y,null);
打破
案例1:
drawBitmap(icon2,x,y,null);
打破
案例2:
canvas.drawBitmap(icon3,x,y,null);
打破
案例3:
canvas.drawBitmap(icon4,x,y,null);
打破
违约:
drawBitmap(icon1,x,y,null);
中断;}

我们需要一个更好的环境,来了解所有这些内容在您的
活动中的位置。它看起来像是一个变量范围,为您提供注释代码。什么是可变范围问题?我只是在活动中添加了更多代码。啊,你们真是天才。我花了很多时间试着让它工作。但你只花了几分钟就明白了。非常感谢。我到家后会试试这种方法。我是一名初学者:-(谢谢你,谢谢你!不客气!如果它对你有用,请将其标记为正确答案。我刚刚让它起作用!耶,非常感谢!但有一个问题,为什么每次我打开/关闭不同的应用程序时,幻灯片都会切换到下一张图片?我知道这与你今天为我提供的帮助无关。你知道吗是什么导致了这个问题?
Bitmap icon; 
if(natural)  
  icon = BitmapFactory.decodeResource(getResources(),piratesNatural[i]);   
else
  icon = BitmapFactory.decodeResource(getResources(),pirates[i]);
int frame=0;
int frametime=24;

Bitmap icon1 BitmapFactory.decodeResource(getResources(), R.drawable.image_1,);
Bitmap icon2 BitmapFactory.decodeResource(getResources(), R.drawable.image_2,);
Bitmap icon3 BitmapFactory.decodeResource(getResources(), R.drawable.image_3,);
Bitmap icon4 BitmapFactory.decodeResource(getResources(), R.drawable.image_4,);



//in update
frametime--;
if(frametime<=0){
frame++;
frametime=24;
}
if(frame>3){
frame=0;
}



//in onDraw

switch(frame){

case 0:
canvas.drawBitmap(icon1,x,y,null);
break;
case 1:
canvas.drawBitmap(icon2,x,y,null);
break;
case 2:
canvas.drawBitmap(icon3,x,y,null);
break;
case 3:
canvas.drawBitmap(icon4,x,y,null);
break;
default:
canvas.drawBitmap(icon1,x,y,null);
break;}