相信使用starling開發的,在使用textfield時,會遇到,超連結檔案功能不可用的問題;
看一下原始碼;就知道,畢竟他是在原生的textfield基礎上實現的,將textfield draw成texture然後放到gpu顯示;
如果要實現鏈結功能;
那麼有個思路:
3)、使用原生的textfield,計算,第1)點中的,所有顯示內容的字元;並計算該所有字元的有效矩形區域;(在touch或是mouse互動時,作座標與矩形區域判斷);
生成型別這樣的資料結構,作為觸發link事件資料物件;
這樣在加上,touch事件,判斷touch的end階段事件,的x,y位置是否與上面的:rects有交集,有則觸發事件,並將:linktxt資料傳過事件物件中即可;
下面給出乙個github國外人寫好的乙個(關鍵要看,回貼內容)
textfields with hyperlinks
其中有個回貼有提供實現的另一種方式
自己寫了個測試程式:
以下實現方式,我沒寫使用矩形與互動點的碰撞檢測方式;
也是使用了,國外**的寫方,直接使用乙個可互動的物件:sprite
如果要使用矩形方式,那些就得對所有的rect都遍歷並碰撞檢測試;
如果要優化,還可以使用,四叉樹,對矩形的合理分布區域,再做高交的選擇性檢測;
主要**:
package
private function refreshlinkhotarea():void
; var sidx:int = result.index - hrefsindx;
var eidx:int = sidx + value.length;
var rect:rectangle;
for (var i:int = sidx; i < eidx; i++)
hrefsindx += tag.length - value.length;
}}
public static function tokey(rect:rectangle):string
}}import flash.display.sprite;
import flash.events.mouseevent;
import flash.geom.rectangle;
class linkhotarea extends sprite
private function onclick(e:mouseevent):void
trace("linkhotarea trigger : rectkey = " + rectkey + ", " + datastr );
}}
執行效果圖:
PHP window 伺服器下實現 自動解壓檔案
這幾天做乙個需求 上傳大檔案的壓縮zip格式到伺服器,要實現自動解壓到當前上傳目錄。之前是linux伺服器,可windows查了資料有個expand命令,可根本不能用啊!搗鼓了一上午,發現可以用 7z.exe 的自帶 命令列程式來完成。塊 system 7z.exe x y aos od pano ...
SQLite3中文編碼 Python的實現
讀取十萬多條文字寫入swww.cppcns.comqlite型別資料庫,由於文字中存在中文字元,插入到資料庫沒錯,取出時一直是unicodedecodeerror,導致折騰了一天。最後的解決方法 python連線資料時進行如下設定 db sqlite3.connection db.text fact...
Linux下利用rsync實現多伺服器檔案同步
windows做為檔案伺服器,使用rsync的windows服務版本,然後配置好就可以了。需要的朋友可以參考下。目標 多伺服器檔案同步 環境 2臺centos5.6 web端 192.168.20.20 backup端 192.168.20.21 需要備份目錄為 192.168.20.20 usr ...