HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
1021
ようすけHSP3dishで配列変数への一括代入について2解決


ようすけ

リンク

2015/10/21(Wed) 15:22:59|NO.72421

HSP3dishでコンパイルし、android上で動かすのが目的なのですが
以下のように2次元配列に一括代入するスクリプトをHSP3dishでコンパイルしたところ
android上で動きませんでした。

HSP単体では正常に動作するのですが、
androidで動かす際にはどのようにすれば実装できますでしょうか?

dim map,10,13
map(0,0)=0,0,0,0,0,0,0,0,0,0
map(0,1)=0,0,0,0,0,0,0,0,0,0
map(0,2)=0,0,0,0,0,0,0,0,0,0
map(0,3)=0,0,0,0,0,0,0,0,0,0
map(0,4)=0,0,0,0,0,0,0,0,0,0
map(0,5)=0,0,0,0,0,0,0,0,0,0
map(0,6)=0,0,0,0,0,0,0,0,0,0
map(0,7)=0,0,0,0,0,0,0,0,0,0
map(0,8)=0,0,0,0,0,0,0,0,0,0
map(0,9)=0,0,0,0,0,0,0,0,0,0
map(0,10)=0,0,0,0,0,0,0,0,0,0
map(0,11)=0,0,0,0,0,0,0,0,0,0
map(0,12)=0,0,0,0,0,0,0,0,0,0

ちなみに、2行目のmap(0,0)=〜までならば問題なく実行できました。
3行目以降map(0,1)=〜をコンパイルした途端、android上では動かなくなるようです。

原因等わかりましたらご教示頂きたく。
よろしくお願い致します。



この記事に返信する


窓月らら

リンク

2015/10/23(Fri) 02:46:17|NO.72441

確かに落ちちゃいますね。2次元配列が正しく動いていない?
HSP3Dishはまだまだ不具合が多く、こういう事が頻繁に起きてます。
不具合で足踏みしてても仕方ないので、別の方法を考えましょう。

マップデータを作ろうとしているのだと思いますが、
個人的には peek で読み出す方法をおすすめします。
必要なマップパターンの数によりますが、
大抵は256個、つまり1バイトで間に合うと思われます。
配列変数1個に1パターンとすると、無駄に4倍の容量を消費します。

以下は考え方の一例

// マップサイズを横100,縦100と仮定した場合 // 100x100=10000バイト sdim map,10000 // 10000バイト分のメモリを確保 mx=10: my=1 // マップ位置 p=mx+my*100 // メモリの位置 poke map,p,$ff // 指定位置に 0xFF を書き込む data=peek(map,p) // 読み出してみる mes "ADDRESS="+p mes "DATA="+data



ようすけ

リンク

2015/10/23(Fri) 13:17:42|NO.72446

現状のHSP3dishでは、2次元配列はまだ無理と諦め
代替案を考えることにします。

ご回答頂き、ありがとうございました。



ONION software Copyright 1997-2021(c) All rights reserved.