問題タブ [macruby]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - MacRubyを使用してMacAppStore用のアプリケーションを開発できますか?
私はObjective-Cにある程度精通していますが、Rubyが好きなので、MacRubyで遊んでみようと思っています。MacRubyを使用してMacAppStore用のアプリケーションを開発することは可能ですか、それともObjective-Cを使用する必要がありますか?(私は今のところiOS / iPhoneとiPadストアについてはあまり気にしておらず、Mac OS Xアプリストアだけであることに注意してください。)
javascript - キャンバスデータから画像を作成するにはどうすればよいですか?
私のアプリケーションでは、レンダリングされたHTMLキャンバスの任意の部分を画像ファイルに保存しようとしています。私のJavascriptでは、結果のオブジェクトを呼び出してmacrubyコードに渡します(ただし、objcの解決策を知っている場合は、私も非常に興味があります)。ctx.getImageData(x, y, w, h)
そこで、ユーザーが希望する画像形式で保存できるように、 NSBitmapImageRepオブジェクトを作成しようとしています。
これはこれまでの私のコードです(関数は引数としてWebScriptObjectを取得します):
コードは関数を通過していないようですがinitWithBitmapDataPlanes
、エラーは発生しません。
私の質問は:私は何を間違っているのですか?このアプローチは合理的ですか(そうでない場合は、何が良いでしょうか?)。
編集
以下のPhrogzの回答を使用して、中間的な解決策を得ました。別のキャンバス、getImageData、putImageData、およびtoDataURLを使用して、必要な領域のデータURLを取得します。私setimagedata
の場合、データのURLを保存するだけで、dataOfType: error:
メソッドは次のようになります。
不足している分泌物は、この醜いハックスにソースをかけます:
これは、Cocoaでのダックタイピングを活用し、通常はNSDataでセレクターを定義して、ファイルに書き込みます。
これは今のところうまくいくようで、解決策に到達できてうれしいです。ただし、NSBitmapImageRepを使用した解決策を見たいと思います。私が実装している次の機能はビデオへのエクスポートであり、このクラスによって提供されるより細かい制御が必要になると思います。
core-graphics - NSOperation の CoreGraphics API からの EXC BAD ACCESS
MacRuby を使用して、NSOperation 内で CoreGraphics/CoreImage 操作を実行しようとしています。ソース ファイルを CG に読み込み、CGImageDestination を設定する API 呼び出しがいくつかあります。
次のコードを NSOperation.init に入れると、すべてうまくいきます。
しかし、同じコードを NSOperation のメイン関数に入れると、散発的に EXC_BAD_ACCESS エラーが発生します。また、NSOperation を NSOperationQueue に渡す場合のみ。main を自分で呼び出すと、問題なく動作します。
私が実行しているメインの最後に:
さらに奇妙なのは、initがメインスレッドから呼び出されなくても、initで動作することです(メインスレッド/バックグラウンドスレッドの問題ではないと思います)
何かご意見は?
xcode - MacRuby + Interface Builder:ウィンドウを表示してから閉じてからもう一度表示する方法
私はMacRubyとCocoaを備えた完全なn00bなので、答えるときはそのことを覚えておいてください。多くの詳細と説明が必要です。:)
2つのウィンドウを含む単純なプロジェクトをセットアップしました。どちらもInterfaceBuilderで構築されています。最初のウィンドウは、テーブルビューを使用したアカウントの単純なリストです。表の下に「+」ボタンがあります。+ボタンをクリックすると、「新しいアカウントの追加」ウィンドウが表示されます。
また、これらのウィンドウのデリゲートとして設定されAccountsController < NSWindowController
たクラスと、適切なボタンクリックメソッドが配線されたクラス、および必要なウィンドウを参照するためのアウトレットがあります。AddNewAccountController < NSWindowController
[アカウント]ウィンドウの[+]ボタンをクリックすると、次のコードが実行されます。
これは、最初に[+]ボタンをクリックしたときにうまく機能します。すべてが表示され、データを入力してモデルにバインドすることができます。ただし、新しいアカウントの追加フォームを閉じると、状況が悪化し始めます。
[新しいアカウントの追加]ウィンドウを閉じるときに解放するように設定した場合、2回目に[+]ボタンをクリックすると、ウィンドウはポップアップ表示されますが、フリーズします。ボタンをクリックしたり、データを入力したり、フォームを閉じたりすることはできません。これは、フォームのコードがリリースされたためだと思います。そのため、フォームを処理するメッセージループはありません...しかし、これについては完全にはわかりません。
[新しいアカウントの追加]ウィンドウを閉じたときに解放しないように設定した場合、2回目に[+]ボタンをクリックすると、ウィンドウは正常に表示されて使用できますが、以前に入力したすべてのデータが残っています...以前のAccountクラスインスタンスにまだバインドされています。
私は何が間違っているのですか?[アカウント]フォームの[+]ボタンをクリックしたときに、[新しいアカウントの追加]フォームの新しいインスタンスを作成し、新しいアカウントモデルを作成し、そのモデルをフォームにバインドしてフォームを表示する正しい方法は何ですか?
...これはすべてOSX10.6.6、64ビット、XCode3.2.4で実行されています
ruby - MacrubyprefpPane-何も機能しません
Macrubyを使用して非常にシンプルなサンプルアプリケーションを作成しました。問題は、prefpaneが機能せず、何も起こらないことです。
Main.rbファイルにコールバックを持つボタンを作成しました。誰かがボタンをクリックすると、ラベルの値が「一部のデータ」に変更されます。
Main.rbファイルへのリンクには、機能していないサンプルプロジェクトも含まれています。
追加されるコードは3行だけです。
ruby - ネストされたクラスは、Ruby の外部クラスのメソッドにどのようにアクセスできますか?
b から a を呼び出して例外を発生させたい。どうやって?
textmate - TextmateにMacRubyを使用させるにはどうすればよいですか?
では、TextmateでOSXのデフォルトのRuby 1.8.7の代わりに、1.9.2のブランチであるMacRubyを使用するにはどうすればよいですか?
objective-c - libcocos2d.a(または静的ライブラリ)をMacRubyにロードするにはどうすればよいですか?
フレームワークとrequireを両方ともパスで試しましたが、同じライブラリが見つかりませんというメッセージが表示されました。
静的Cライブラリ用のBridgeSupportファイルの生成に関する記事を見つけました。私はこれまでこれを行ったことがないので、試して報告します。
しかし、誰かがcocos2dまたはカスタム静的ライブラリをロードした経験があるなら、それはありがたいです。
ありがとう。
http://www.macruby.org/trac/wiki/MacRubyTutorial#AccessingStaticAPIs http://bridgesupport.macosforge.org/trac/
iphone - MacRubyを使用したiPhoneアプリの開発
iPhoneアプリを作成しようとしていますが、Objective-Cを学ぶ時間がありません。私はすでにRubyを知っていて、MacRubyを発見しました。Objective-Cの知識がなくても、MacRubyだけを使用してiPhoneアプリを作成することはできますか?
ruby - MacRuby/XCodeを使用したインタラクティブシェルメカニズム
私は次の初心者クラスを持っています:
このコントローラーに属するインターフェースは、基本的に入力ボックスから読み取り、そのデータをシェルステートメントにルーティングします。それは機能しますが、私が望むほどクールではありません。
たとえば、 「 ls 」を問題なく使用できます。ただし、「 ls-l」や「ruby-v 」などの長いコマンドを作成すると、実際には何も起こらなかったように見えます。誰か手がかり?
ありがとう!