iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 23
0
Mobile Development

Android的30天學習歷程系列 第 23

第23篇:遊戲搖桿製作(1)(橫屏限制與螢幕大小讀取)

  • 分享至 

  • xImage
  •  

前言

我是要做一台車子當方向鍵,但發現button無法同時案複數以上的,所以改以遊戲搖桿的方式製作

操作

第一種:先製造一個背景為透明的圓形圖片,並將圖片放入 drawable
這裡有製作方式

https://www.bnext.com.tw/article/45940/paint-3d-removing-backgrounds
https://ithelp.ithome.com.tw/upload/images/20201005/20129418MKaWSAyHjQ.png
第二步:創建一個 class 以供傳遞資料使用

package com.example.testr;
public class transfer {
    public static int w,h;
    public static float bili;
   }

第三步:得到螢幕的高跟寬
作用:获得屏幕信息

package com.example.testr;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.os.Bundle;
import android.util.DisplayMetrics;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Move.main=this;
        //鎖定螢幕為橫屏有2種方法這裡為偵測是否橫屏以方便我們讀取螢幕大小
        if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
            //下面唯獨取螢幕的寬度
            DisplayMetrics dis = getResources().getDisplayMetrics();
            transfer.w = dis.widthPixels;
            transfer.h = dis.heightPixels;
            //获取屏幕分辨率和1920*1080的比例 以便适应不同大小的屏幕
            transfer.bili = (float) (Math.sqrt(transfer.w * transfer.h) / Math.sqrt(1920 * 1080));
            setContentView(new Hua(this));
        } else {
        //此段為用主程式強制執行成橫屏
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        }
    }}

補:另一種強制橫頻的方式
方法:在AndroidManifest.xml對每個Activity進行配置
https://ithelp.ithome.com.tw/upload/images/20201006/20129418Iy0L8XA8v3.png


上一篇
第22篇:日期元件製作
下一篇
第24篇:遊戲搖桿製作(2)(移動偵測)
系列文
Android的30天學習歷程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言