用树莓派打拳皇游戏(运行 SWF 游戏文件)【Adobe Flash Player + Chromium】

用树莓派打拳皇

记录博文

在这里插入图片描述

一、前言

树莓派买到手也挺久的了,确实可以称之为吃灰神器,买回来就放在那里吃灰。但是,我依旧认为我买的还是不亏的,至少还是起到一定的学习,玩乐的作用。

一开始,我的树莓派真的拿来学习了一阵子,又是看一些 linux 书,学敲控制台代码,后来因为学业繁忙,渐渐放下来了,很多操作又忘记了。

后来,一段时间咱家的电脑原地升天了之后,因为需要一台台式电脑,所以索性用 VGA 转 HDMI 接头,配了一台简单的电脑,因为需求不是游戏,仅仅浏览器即可。所以,完全足够了。

又后来,我重新捣鼓了 “坏” 的台式电脑,竟然 “修” 好了,所以树莓派又没用了。这当中持续了有半年多时间,也是挺长了。

最近,我想就把树莓派放家里,直接当一台台式算了。突发奇想,看看树莓派有没有更多作用。实际上,我的树莓派装的 raspbian 系统,不是模拟器系统,所以不能玩模拟器游戏,因此我的出发点还是在 raspbian 可以玩啥游戏。后来,经过一定的了解,就是 swf 文件的游戏,这种游戏在 4399 上还是挺多的。 我又喜欢打拳皇,所以特地选了拳皇游戏作为一个样本吧。

二、4399

实际上直接在 4399 上就可以玩游戏(要装 adobe flash player 插件,具体怎么搞,还是百度吧)
都是游戏,可以玩就可以了
在这里插入图片描述

三、自己的 SWF 文件

有时候一些游戏,小游戏网页可能没有,需要自己自备一个。比如,一些拳皇的版本之类的。所以,我们要通过一定的方式实现本地播放 SWF 游戏。
原来上网查,什么 Gnash SWF 可以玩 SWF 游戏,我也尝试过了,但是打不开,卡在加载界面,所以最后,还是选择浏览器。我称你为老大哥。
在这里插入图片描述
raspbian 的chromium浏览器,只要打开 swf ,就直接变成下载,这样根本不能播放,所以咱选择围魏救赵的方式,来打开 swf 文件。
只要通过将 swf 嵌入 HTML 代码中,就可以。但是苦于我不会 HTML 和 JS 的代码,所以在网上查到一份可以运行的代码。
代码来源 —— 使用CHROME播放本地SWF文件 - 小小泪

<!DOCTYPE>
<html>
  <head>
    <title>SWF player</title>
  </head>
  <style>
#container{
     
     
  display: flex;
  min-height:100%;
  flex-direction:column;
  align-items:stretch;
}
#file {
     
     
  padding-bottom: 1em;
  border-bottom: double 6px #ccc;
  margin-bottom: 1em;
}
#file input {
     
     
  font-size: 30px;
}
  </style>
  <body>
    <div id="container">
      <div id="file">
        <input type="file" id="swfinput" onchange="showSWF(this.files);">
      </div>
      <div class="swf">
        <object>
          <embed  id="swfobj" src="" width="100%">
        </object>
      </div>
    </div>
  </body>
  <script>
function showSWF(files){
     
     
  var numFiles=files.length;
  for (var i=0; i<numFiles; i++){
     
     
    var file=files[i];
    //console.log(file.name, file.size, file.type);
    var source=file.name;
    var swfobj=document.getElementById("swfobj");
    var inputh=document.getElementById("file").offsetHeight;
    var containerh=document.getElementById("container").offsetHeight;
    var swfh=containerh-inputh;
    var clone=swfobj.cloneNode(true);
    clone.setAttribute('src', source);
    clone.setAttribute('height', swfh);
    swfobj.parentNode.replaceChild(clone, swfobj);
    //console.log(swfh, containerh);
  }
}
  </script>
</html>

四、实际的演示

在这里插入图片描述
会有卡顿,这里主要是 VNC 的卡顿。
玩的时候,也有卡顿,那是树莓派的极限了。

点我回顶部

 
 
 
 
 
 
 
Fin.

猜你喜欢

转载自blog.csdn.net/Enderman_xiaohei/article/details/108500644