7月 04

GASでスプレッドシートの更新があったセルの名前を取得する方法

function onEdit(e){
  var namedRanges = SpreadsheetApp.getActiveSheet().getNamedRanges();

  var cName  = namedRanges.filter(data=>
    data.getRange().getRow() == e.range.getRow() &&
    data.getRange().getColumn() == e.range.getColumn()
  );
  
  Browser.msgBox(cName[0].getName());
}

セルの座標を取得する場合はe.range.getRow()とe.range.getColumn()で行います。

4月 05

SESAME4(スマートロック)にJAVASCRIPTでアクセスしてみた

WIFIモジュールに接続されたSESAME4(スマートロック)に

ブラウザ(JAVASCRIPT)でアクセスし状態情報を取得するサンプルコードです。

header付きでクエリを投げる必要があった為、手っ取り早く

axiosというJAVASCRIPTのライブラリを利用しました。

<html>
 <head>
 <title>Javascript でsesameの状態を所得する</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
 <script >
	 function init()
	{
		var uuid = "YOUR_UUID";
		var api_key ="YOUR_API_KEY";

		axios.get("https://app.candyhouse.co/api/sesame2/" + uuid, { headers: { "X-API-KEY" : api_key} })
		.then(function (response) {
			// handle success
			alert(JSON.stringify(response.data));
		})
	}
 </script>

 </head>
 <body>
  
	<input type="button" value="sesameの状態取得" onclick="init()">
   
 </body>
</html>

5月 26

HDDの復元 備忘録

ある日突然HDD(Fドライブ)が未フォーマット状態と表示される。
専門の業者に依頼すれば復元は簡単なのだろうが如何せん
私のHDDはトップシークレットである為、この方法は行えない。
自力で復元するべく幾つかの有料を含むソフトを使い
無事復元に成功したので同問題でお悩みの方へ参考までに記録しておこうと思う。(ググっても業者の広告しか出てこず大変苦労したので)

①救出フェニックス4Basic(stellar)

  • 価格
    6000円くらい
  • 概要
    元は海外の復元ソフトstellar の日本語版が 救出フェニックス4 まず無料の体験版 stellar でHDDを解析したところファイル名一覧が表示され、それに安堵して購入を決意した。アマゾン経由で購入できる安心感も購買意欲を後押ししたと思う。
  • 結果
    失敗。ファイル名と中身が違ったり再生不可だったものが9割以上あった。 価格は上がるがstandard、Premiumなどの上位バージョンなら復元出来たのかもしれない。

②diskdigger

  • 価格
    無料
  • 概要
    フェニックスに失敗し、HDD復元について更にぐぐってみると「無料のソフトでも成功した」という話もあったので無料復元ソフトの中でも評価が高かった当該ソフトを試してみた。
  • 結果
    失敗。やはり復元すると再生不可の壊れたファイルが出来上がる。

③Ease US Data Recovery

  • 価格
    1ヶ月間 9700円(Amazonでの購入価格)
  • 概要
    3度めの正直、これで駄目なら諦めようと思いながら体験版をインストール
    解析しプレビューで再生してみると・・・・なんとどれもこれも再生に成功した!だが体験版のプレビューは15秒だけなので絶対安心とは言えない
    復元を実行するには製品版を購入するしかない、これまでの失敗が頭をよぎる
    震える指で購入ボタンをクリック・・・
  • 結果
    成功!全てのファイルが復活!
    ステマだと思われたくないのでURLは載せないが手順としては
    ググって体験版をインストール&解析してファイルがプレビューできることを確認してからプロダクトキーを購入しソフトをアクティベートして復元を実行する。Ease US のサイトでクレカ情報を入れるのが怖い人はamazonでも購入可能

#HDD #復元 #復旧 #リカバリー

5月 04

ダクソ3のグローバル実績に見るレベルデザイン

ダークソウル3ってどのくらいの人がクリアしてるのかな?という疑問から、グローバル実績を見ていた所、気になる箇所が見つかった。

画像を見てもらうと2体目のボス「冷たい谷のボルト(ボルト)」の実績が急激に少なくなっていることがわかる。

このボルトは決して強い敵ではなく、むしろかなり弱い部類だと思われる。ではなぜ挫折してしまう人がこんなにも多いのか

思うに篝火(セーブポイントみたいなもの)からボルトまでの道のりに問題があるのではないだろうか

道中に手強い騎士のザコ敵が数体現れる。実際は騎士を避ける裏ルートがあるのだが入門者がこれに気づくわけもなく・・・

20160324170033

ボルトに何度も挑んでは死にを繰り返す最中、その道中で強力なザコ敵に敗れるというのは私も経験があるが「手強いボスを倒したい挑戦したい」と思う気持ちに水を差された心情になるのではないだろうか

ボスに連敗して精神的にもナイーブになっているのであれば尚の事、辟易とすることだろう

ゲーム序盤にして20%ものユーザを失っている。恐らくこの20%のユーザは

二度と同シリーズを購入することはないだろうと思うと非常にもったいない話である。

9月 06

unity + spritestudio で2D格ゲー制作 #3


進捗です。
画面端で投げた時の挙動など

ちなみに投げのダメージが与えられるタイミングは
spritestudioのユーザーデータを使ってタグ付与しunity側でそれを拾ってます。

3月 27

unity + spritestudio で2D格ゲー制作 #2


今回はphotonを使ってオンライン経由で相互にキャラクターの動きを同期できるようになりました。

3月 10

unity + spritestudio で2D格ゲー制作 #1

もう直ぐ対戦が出来るようになりそうです。
その際はα版として公開したいと思います。

2月 15

SS5PlayerForUnity 参照テクスチャーの差し替え

private Texture2D myTexture;
private Script_SpriteStudio_Root ss;

void Start()
{
    ss = gameObject.GetComponent();
    myTexture = Resources.Load("file_name", typeof(Texture2D)) as Texture2D;
    //指定するファイル名には拡張子を含まないように

    ss.TextureChangeTableMaterial(0,myTexture);
}

2月 08

unity + spritestudio で2D格ゲー制作 #0

http://sjc.sakura.ne.jp/test/unityChan/index.html
(読み込みに時間が掛かります)

しゃがみ無いのとジャンプが垂直なのは仕様です。
スマホとPCでのクロスプラットフォームネット対戦を予定してるので
操作はできるだけ簡素にしています。

基本的な動きだけ操作できるようになった。
しかし何故かキー入力から動くまでにラグがあるなぁ・・・ 改良せねば

1月 26

unityからspritestudioアニメーションの参照セルマップを変更

デモページ

■目的

この機能を使えば一つのアニメーションを複数のキャラクターで使いまわす事ができ大分作業量を減らせられますね。

個人的にはこういうところがSSの真骨頂だと思ってます。

 

SSのプロジェクトはアニメーションファイルが1つ

 

unity のhierarchyはこんな感じ

 

Viewにスクリプトを追加、内容は下記

using UnityEngine;
using System.Collections;
 
public class view : MonoBehaviour
{
    Script_SpriteStudio_Root unichan;
    int currentCellMapNo = 0;
 
    void Start ()
    {
        unichan = GameObject.Find("unitychan_3head").GetComponent();
        myCellMapChange(unichan, 1);
    }
 
    void myCellMapChange(Script_SpriteStudio_Root trgt, int cellNo)
    {
        Library_SpriteStudio.Control.CellChange[][] myCellMap;
        myCellMap = Library_SpriteStudio.Utility.TableCellChange.Create(trgt);
 
        Library_SpriteStudio.Control.CellChange[] before = myCellMap[0];
        Library_SpriteStudio.Control.CellChange[] affter = myCellMap[cellNo];
 
        for (int i = 0; i &lt; before.Length; i++)
        {
            string partsName = before[i].DataCell.Name;
 
            for (int s = 0; s &lt; affter.Length; s++)
            {
                if (partsName == affter[s].DataCell.Name)
                {
                    before[i] = affter[s];
                }
            }
        }
        trgt.CellMapChange(myCellMap);
    }
}

■問題

フレームの途中で参照セルを変更していたりすると対応できないので注意が必要です。

 

差し替え後のセルマップの状態を意識しながら行えば問題なくできます。

 

 

古い記事へ «