我有一个呈现PNG图像的屏幕(BaseScreen实现了Screen界面).单击屏幕时,它会将角色移动到触摸位置(用于测试目的).
public class DrawingSpriteScreen extends BaseScreen {
private Texture _sourceTexture = null;
float x = 0, y = 0;
@Override
public void create() {
_sourceTexture = new Texture(Gdx.files.internal("data/character.png"));
}
.
.
}
Run Code Online (Sandbox Code Playgroud)
在渲染屏幕期间,如果用户触摸屏幕,我抓住触摸的坐标,然后使用这些来渲染角色图像.
@Override
public void render(float delta) {
if (Gdx.input.justTouched()) {
x = Gdx.input.getX();
y = Gdx.input.getY();
}
super.getGame().batch.draw(_sourceTexture, x, y);
}
Run Code Online (Sandbox Code Playgroud)
问题是从左下角开始绘制图像的坐标(如LibGDX Wiki中所述),触摸输入的坐标从左上角开始.所以我遇到的问题是我点击右下角,它将图像移动到右上角.我的坐标可能是X 675 Y 13,触摸时它将靠近屏幕顶部.但是角色显示在底部,因为坐标从左下角开始.
为什么是这样的?为什么坐标系会反转?我使用错误的对象来确定这个吗?
我正在使用linq到实体(EF).我有一个构造函数,它接受4个字符串参数.根据什么参数不为null,我必须构建linq查询.我可以使用if else语句,但我也有其他10个参数的构造函数,在这种情况下,将有许多组合要检查.
例:
Constructor(p1,p2,p3,p4)
{
var prod= from p in ctxt.products.expand("items\details")
where p.x==p1 && p.xx==p2 && p.xxx==p3 && p.xxxx==p4
select p;
}
Run Code Online (Sandbox Code Playgroud)
在上面的where子句中,只有当参数不为null时才应该进行条件检查.即,如果p2为null,那么where子句应如下所示
where p.x==p1 && p.xxx==p3 && p.xxxx==p4
Run Code Online (Sandbox Code Playgroud)
如果p2和p3为null则
where p.x==p1 && p.xxxx==p4
Run Code Online (Sandbox Code Playgroud)
谁能告诉我如何处理这个问题.如果可能的话,你可以为此提供示例代码
1.-我正在使用报告服务,有时ASP.NET session has expired or could not be found当我尝试加载报告时出现此错误.
2.-我意识到,即使用户是相同的,Session.SessionID属性也会更改时出现此错误.如果它没有改变,则加载报告.我的意思是,如果我多次刷新报告,只要Session.SessionID与最后一个相同,就会加载报告.
3.-Microsoft文档说:
使用基于cookie的会话状态时,在使用Session对象之前,ASP.NET不会为会话数据分配存储空间.结果,为每个页面请求生成新的会话ID,直到访问会话对象.如果您的应用程序需要整个会话的静态会话ID,您可以在应用程序的Global.asax文件中实现Session_Start方法,并将数据存储在Session对象中以修复会话ID,或者您可以在您的另一部分使用代码应用程序在Session对象中显式存储数据.
如果您的应用程序使用无cookie会话状态,则会在第一个页面视图上生成会话ID,并为整个会话维护该会话ID.
关键是我不能使用无cookie会话状态,因为我需要cookie.
我该怎么做才能避免这个错误?或者我该怎么做才能避免Session.SessionID在每个请求上更改?
我正在尝试创建自己的HTML Helper,它接受一个表达式(类似于内置的LabelFor <>帮助器.我已经找到了在表达式类似于此时获取属性值的示例:
model => model.Forename
Run Code Online (Sandbox Code Playgroud)
但是,在我的一些模型中,我想获取子元素中的属性,例如
model => mode.Person.Forename
Run Code Online (Sandbox Code Playgroud)
在这些例子中,无论如何我都找不到(轻松)获取Forename的值.任何人都可以建议我应该如何获得这个价值.
谢谢
关于Razor视图引擎,比方说我想渲染Html.TextBoxFor<SomeModel>(i => i.Name),内联语法似乎不像以下那样工作:
@Html.TextBoxFor<SomeModel>(i => i.Name)
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用,因为它将泛型解释为HTML标记.我可以使用代码块方法,但那么输出内容的最佳方法是什么?从这个方法返回的HTML字符串,我是响应它还是写它,还是有它的语法,或者是什么方法?
谢谢.
我通过他的博客看到了Scott Guthrie关于辅助方法的帖子.
特别是这个:

我看到一堆RC版本的MVC 3帖子关于缺少辅助方法...我看到它的语法支持(@helper)得到突出显示,但我有这个/Views/Helpers/SomeHelper.cshtml(定义为局部视图):
@helper SomeHelper(string text)
{
if (text != null)
{
<text>
@text
</text>
}
else
{
<text>
Unknown
</text>
}
}
Run Code Online (Sandbox Code Playgroud)
我用这种方式:
<div>
Helper with Text:
@SomeHelper("This is not null text.")
</div>
Run Code Online (Sandbox Code Playgroud)
但我得到的SomeHelper没有被定义....所以我把它搞砸了?我有什么需要做的事情来将这些视图注册为帮助者吗?
谢谢.
我在ASP.NET中说过这个层次结构:
page
user control 1
user control 2
control 3
Run Code Online (Sandbox Code Playgroud)
我想要做的是,当控件3(它可以是任何类型的控件,我想要通常这样做)让用户做一些触发回发的事情,它会将某些事件冒泡到用户控件2 ,或者甚至可能是用户控制1(虽然我也可以让UC 2手动鼓泡事件).
同样,我想一般地这样做,以便层次结构可以改变,它仍然有效.也许有多个控件(控件4等)或数据绑定控件.这可能吗?
谢谢.
我想知道是否可以在DelegatingHandler的SendAsync方法中访问正在执行(或即将执行)的控制器?我似乎无法弄清楚如何访问它,我认为这是因为它在控制器执行之外执行...
可以参考吗?
我刚开始按照http://developer.android.com/training/basics/firstapp/starting-activity.html教程开始进行Android开发,有一件事让我烦恼:我有两个使用"Android Activity"创建向导创建的类:
public class PlacesActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_places);
// I manually commented out the following line to get it to compile.
// getActionBar().setDisplayHomeAsUpEnabled(true);
}
// ... other methods
}
Run Code Online (Sandbox Code Playgroud)
和
public class ShowOnePlace extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_one_place);
getActionBar().setDisplayHomeAsUpEnabled(true);
}
// ... other methods
}
Run Code Online (Sandbox Code Playgroud)
Eclipse不断给我以下错误:
调用需要API级别11(当前最小值为8):android.app.Activity#getActionBar
调用需要API级别11(当前最小值为8):android.app.ActionBar #setDisplayHomeAsUpEnabled
直到我评论出其中一行(如上所示).现在应用程序似乎在我的Android设备上编译和运行没有错误.(好吧,至少没有那个错误).
所以:
getActionBar().setDisplayHomeAsUpEnabled(true);在一个类中给出该错误,但是在另一个类中,完全相同的行不是错误 - 甚至不是警告?asp.net ×5
.net ×2
asp.net-mvc ×2
c# ×2
razor ×2
android ×1
coordinates ×1
dynamic ×1
eclipse ×1
events ×1
game-engine ×1
html ×1
html-helper ×1
java ×1
lambda ×1
libgdx ×1
linq ×1
sessionid ×1
where-clause ×1
wpf ×1